【问题标题】:PowerShell - get process ID of called applicationPowerShell - 获取被调用应用程序的进程 ID
【发布时间】:2011-06-13 09:00:16
【问题描述】:

我需要调用一个外部应用程序(即 & 'Notepad' ) 然后获取被调用应用的进程ID。

Get-Process Notepad = 将返回所有记事本进程

我想做这样的事情:

$objApp = & 'c:\Notepad.exe'

WHILE (get-process -ID $objApp.id | select -property Responding) {
  Start-Sleep -s 10
  Echo "STILL WAITING"
}
Echo "Done!!"

【问题讨论】:

    标签: powershell process


    【解决方案1】:

    将Start-Process 与-PassThru 参数一起使用,如下所示:

    $app = Start-Process notepad -passthru
    Wait-Process $app.Id
    

    【讨论】:

    • @JohnDemetriou 它告诉 Start-Process 将流程对象输出到管道上(即“通过管道传递它”)
    【解决方案2】:

    更简洁:

    # Starts Notepad and returns the ID
    (Start-Process Notepad -passthru).ID
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多