[英]How can I start a process, pause for 2 hours and then kill a process in Powershell
如何启动进程,暂停2个小时,然后在Powershell中终止进程。 我可以启动它并终止该进程,但是Start-Sleep命令似乎在我的脚本中不起作用。 我以为这很简单。 不知道我是否缺少某些东西,或者甚至可以睡2个小时。
if((Get-Process -Name test -ErrorAction SilentlyContinue) -eq $null){
."C:\Program Files (x86)\test.exe" Start-Sleep -s 7200 Stop-Process -name test}
在单行脚本块中放置多个PowerShell命令时,必须用分号分隔命令:
if((Get-Process -Name test -ErrorAction SilentlyContinue) -eq $null){ ."C:\Program Files (x86)\test.exe" ; Start-Sleep -s 7200 ; Stop-Process -name test}
只是为了给Jeff的答案添加一些内容-您可以使用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
}
这意味着如果该进程死于其他原因,并且手动重新启动或由脚本的其他副本等重新启动,则该脚本不仅会在两个小时后将其杀死,还会杀死正确的进程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.