等待PowerShell中的进程退出

时间:2014-01-08 11:06:02

标签: powershell process while-loop

是否有可能等待进程退出,而不需要运行? 我知道有关键字WaitForExit,但要使用它,该过程需要运行。

我的第二个问题是,如果有可能在while循环中使用else-Statement。 已经试过了,但它总是说没有一个叫做else的函数。

4 个答案:

答案 0 :(得分:1)

Do Until

Do {
    Sleep 5
} Until (Get-Process iexplore);

将等到找到iexplore

虽然

While (Get-Process iexplore) {
    Sleep 5
}

将等到iexplore不再运行


之后

else循环后,您无法使用while语句。

需要在if之后。

答案 1 :(得分:0)

它是否符合您的需求(第一个问题)? http://technet.microsoft.com/library/hh849813.aspx

答案 2 :(得分:0)

  

如果有可能在while循环中使用else-Statement。

如果你的意思是:

while (cond) {
} else {
}

然后没有。 (else块的内容与紧随while块之后的代码有何不同?)

  

是否有可能等待进程退出,

是。根据目标过程的性质,有不同的方法。它是由同一个脚本创建的吗?是同一个会话?服务?或者只是一个任意的过程?

答案 3 :(得分:0)

您可以使用wait-process cmdlet。 查看链接以获取详细信息http://ss64.com/ps/wait-process.html

Example: wait-process -name notepad.exe