如何在 PowerShell 中使用 Wait-Process?


PowerShell 中的Wait-Process cmdlet 用於在執行繼續進行到下一步之前等待程序停止。

例項

我們運行了一個剪報工具應用程式,我們需要先等待程序停止,然後再執行下一步操作。

PS C:\> Get-Process SnippingTool | Select Name,Id,CPU
Name          Id    CPU
----          --    ---
SnippingTool  7440   2.0625

要先等待程序停止,我們將使用Wait-Process命令。您可以提供程序名稱或 ID。

Write-Output "Waiting for the Process to Stop"
Wait-Process -Name 'SnippingTool'
Write-Output 'Snipping tool Process is stopped'

輸出

PS C:\> C:\Temp\TestPS1.ps1
Waiting for the Process to Stop

程序停止後,

PS C:\> C:\Temp\TestPS1.ps1
Waiting for the Process to Stop
Snipping tool Process is stopped

如果所需的程序不能停止,執行將永遠等待。您還可以提供超時引數(以秒為單位),如果程序在指定時間內不能停止,則會丟擲錯誤。

例項

Write-Output "Waiting for the Process to Stop"
Wait-Process -Name 'SnippingTool' -Timeout 5
Write-Output 'Snipping tool Process is stopped'

輸出

PS C:\> C:\Temp\TestPS1.ps1
Waiting for the Process to Stop
CloseError: (System.Diagnostics.…cess (SnippingTool):Process) [Wait-Process],
TimeoutException
Snipping tool Process is stopped

在這種情況下,我們可以將**ErrorAction 設定更改為Stop

例項

Write-Output "Waiting for the Process to Stop"
Wait-Process -Name 'SnippingTool' -Timeout 5 -ErrorAction Stop
Write-Output 'Snipping tool Process is stopped'

輸出

PS C:\> C:\Temp\TestPS1.ps1
Waiting for the Process to Stop
CloseError: (System.Diagnostics.…cess (SnippingTool):Process) [Wait-Process],
TimeoutException

更新時間: 04-01-2021

1K+ 瀏覽量

開啟你的 職業生涯

完成課程認證

開始
廣告
© . All rights reserved.