【问题标题】:Make Foreground a Backgrounded Job invoked by Start-Job in Powershell for Windows使前台成为由 Windows 的 Powershell 中的 Start-Job 调用的后台作业
【发布时间】:2015-11-05 00:35:35
【问题描述】:

在 Bash 中,可以通过在命令末尾添加 & 来在后台启动作业。也可以使用fg 命令将该作业带到前台,如果需要,可以使用适当的作业 ID。

在 Powershell 中,我理解 & 等效于 Start-Job 命令。但是,我无法找到有关执行 fg 等效方法的任何信息。有没有办法做到这一点?请注意,我不是在询问获得输出。相反,我的问题如下。

是否有办法将正在运行的作业带到前台,控制 Powershell 窗口?

需要这种功能的主要原因是我可以将键/字符串发送到正在运行的作业。

使用 Windows 8.1 专业版。

【问题讨论】:

  • AFAIK 您只能通过使用Start-Job 开始的作业获得状态(运行/完成++)和结果(Receive-Job)。我能想到的最接近atm的东西。将xxx-PSSession cmdlet。您可以创建多个 pssesions,在会话中调用脚本或命令,然后在一段时间后进入会话以执行。响应提示。从未尝试过,但 PowerShell 支持它。不确定您是否可以在本地创建会话,或者您是否需要使用远程计算机作为“服务器”。

标签: windows powershell background foreground


【解决方案1】:

我一直在加班加点,在 Google 搜索之后用我的头撞向 Google 搜索。事实证明,使用invoke-item 非常容易。

这是我的使用方法:

invoke-item .\form.ps1
timeout /t 90
wmic Path win32_process Where "CommandLine Like '%form.ps1%'" Call Terminate

这将从 PowerShell 中调用我的脚本 form.ps1(我创建的一个 Windows 窗体)。当form.ps1 运行时,Parent 将继续执行。

我正在使用

wmic Path win32_process Where "CommandLine Like '%form.ps1%'" Call Terminate

通过命令行名称终止表单。

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多