You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中运行多个不终止exe是否阻塞及实现方法咨询

阻塞问题结论

你给出的写法一定会出现执行阻塞。PowerShell默认调用外部可执行程序时为同步执行模式,会等待目标程序进程退出后才会继续执行下一行代码。如果C:\App.exe不会自行终止,脚本会永久停在第一行,永远不会触发C:\App2.exe的启动。

正确实现方案

要实现两个无自终止特性的exe并行启动,使用PowerShell内置的Start-Process命令即可,该命令默认会以异步方式启动目标程序,不会阻塞后续代码执行:

# 基础启动写法
Start-Process -FilePath "C:\App.exe"
Start-Process -FilePath "C:\App2.exe"

如果需要给exe传递启动参数,增加-ArgumentList参数即可:

# 带启动参数的写法,示例给App.exe传递 -config C:\config.ini 参数
Start-Process -FilePath "C:\App.exe" -ArgumentList "-config C:\config.ini"
Start-Process -FilePath "C:\App2.exe"

如果需要启动后不弹出新的控制台窗口、后台静默运行,增加-WindowStyle Hidden参数:

# 静默后台启动写法
Start-Process -FilePath "C:\App.exe" -WindowStyle Hidden
Start-Process -FilePath "C:\App2.exe" -WindowStyle Hidden

如果后续需要管理启动的两个进程(比如手动终止),可以增加-PassThru参数接收进程对象:

# 保存进程对象方便后续管理
$app1Process = Start-Process -FilePath "C:\App.exe" -PassThru
$app2Process = Start-Process -FilePath "C:\App2.exe" -PassThru

# 后续需要终止进程时执行
# $app1Process | Stop-Process -Force
# $app2Process | Stop-Process -Force

内容的提问来源于stack exchange,提问作者zxcv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:06:02