首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Powershell中使用start-process和-wait命令

在Powershell中使用start-process和-wait命令
EN

Stack Overflow用户
提问于 2016-11-01 21:18:21
回答 2查看 29K关注 0票数 12

我是Powershell的新手,没有太多的编程背景,只是尝试将其用于软件打包。无论如何,我发现了带有-Wait参数的启动进程命令,它在大多数情况下都很有效。但我注意到,它不仅等待您指定的进程,它还等待任何子进程,即使主进程不再运行。通常这是好的,但我有一个奇怪的情况。我正在使用start-process运行一个复杂的Oracle批处理文件。批处理文件最终会运行setup.exe,这是我真正想要等待的,但其他进程也会衍生出来,永远不会停止。因此,如果我使用-wait参数,即使在setup.exe不再运行之后,脚本也不会停止。我找到的最接近的方法是使用这个:

代码语言:javascript
运行
复制
saps -FilePath "Path\config.bat" -ArgumentList "arguments"
Start-Sleep -s 10
Wait-Process -Name "setup"

这是可行的,但我认为有一种更好的方法,而不必使用超时命令。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-01 23:30:04

您可以很容易地使用此命令:

代码语言:javascript
运行
复制
$myprocss = Start-Process "powershell" -PassThru 
$myprocss.WaitForExit()

此命令将在进程结束时继续执行。

票数 24
EN

Stack Overflow用户

发布于 2020-09-17 08:28:44

使用Start-Process,有一个等待的选项:

代码语言:javascript
运行
复制
Start-Process -Wait -FilePath "do_things.exe" -ArgumentList "argument another_argument"
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40360889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档