Managing Processes in PowerShell 重點整理

  • PowerShell的環境中
    • 若執行process是win32 process且為背景執行
      則PowerShell會立即出現下一個命令的提示,而不會等此process結束才出現
      • 例如notepad.exe
    • 若執行process是console application且為背景執行
      則PowerShell不會立即出現下一個命令的提示,而會等此process結束才出現
      • 例如ping.exe
  • cmd.exe的環境中
    • start/wait win32 process不會立即出現下一個命令的提示,而會等此process結束才出現
  • 若欲在PowerShell的環境中達到類似的效果
    • 第一種:可以將指令pipe給out-null
      • 例如notepad | out-null
    • 第二種:$np = get-process 某ProcessName
       $np.waitforexit()

 

  • 開啟新process
    • 使用.NET class System.Diagnostics.Process開啟新process
             
      $si = new-object System.Diagnostics.ProcessStartInfo
          $si.FileName = "notepad"
          [diagnostics.process]::Start($si)
    • 使用WMI開啟新process
創作者介紹

PowerShell@HungYuWu

ayowu 發表在 痞客邦 PIXNET 留言(0) 人氣()