如何在 Powershell 中启动进程,暂停 2 小时,然后终止进程。我可以让它启动进程并终止进程,但 Start-Sleep 命令似乎在我的脚本中不起作用。我以为这很简单。不确定我是否错过了什么,或者这是否可以睡两个小时。
if((Get-Process -Name test -ErrorAction SilentlyContinue) -eq $null){
."C:\Program Files (x86)\test.exe" Start-Sleep -s 7200 Stop-Process -name test}
Run Code Online (Sandbox Code Playgroud)
只是为了在杰夫的答案中添加一些内容 - 您可以使用Start-Process和-PassThru来确保您正在结束启动的正确流程。
if ((Get-Process 'test' -EA SilentlyContinue) -eq $null){
$Process = Start-Process "C:\Program Files (x86)\test.exe" -PassThru
Start-Sleep -Seconds (2*60*60)
$Process | Stop-Process
}
Run Code Online (Sandbox Code Playgroud)
这意味着,如果进程因其他原因终止并手动或通过脚本的另一个副本等重新启动,则该脚本不仅会在两小时后终止它,而且会终止正确的进程。
| 归档时间: |
|
| 查看次数: |
5794 次 |
| 最近记录: |