如何运行 iisexpress 在后台不阻塞脚本?
How to run iisexpress in the background without blocking script?
我目前正在尝试 运行 在应用程序构建期间使用 iisexpress,以便 运行 集成测试。但是脚本在 start /wait iisexpress /path:%APPVEYOR_BUILD_FOLDER% /port:%iis_port%
处被阻止。我的 windows 脚本编写技巧没有我希望的那么好,而且 google 到目前为止还不太友好。这是下面脚本的相关部分:
cd \Program Files\IIS Express
start /wait iisexpress /path:%APPVEYOR_BUILD_FOLDER% /port:%iis_port%
echo "Start operations"
这是脚本阻塞位置的捕获
(来源:iamnguele.com)
欢迎任何帮助。
我认为您需要删除 /wait
,因为它会阻止等待 iisexpress 停止的构建管道,但那里没有人阻止它。
请注意,在 AppVeyor 中,您始终可以使用 RDP connection to build worker 解决此类问题。
谢谢,
伊利亚.
我发现了问题所在,实际上我需要添加参数 -PassThru
让进程 运行 在后台运行。
这是我更新后的代码:
cd \Program Files\IIS Express
start /wait iisexpress /path:%APPVEYOR_BUILD_FOLDER% /port:%iis_port% -PassThru
echo "Start operations"
新结果:
我目前正在尝试 运行 在应用程序构建期间使用 iisexpress,以便 运行 集成测试。但是脚本在 start /wait iisexpress /path:%APPVEYOR_BUILD_FOLDER% /port:%iis_port%
处被阻止。我的 windows 脚本编写技巧没有我希望的那么好,而且 google 到目前为止还不太友好。这是下面脚本的相关部分:
cd \Program Files\IIS Express
start /wait iisexpress /path:%APPVEYOR_BUILD_FOLDER% /port:%iis_port%
echo "Start operations"
这是脚本阻塞位置的捕获
(来源:iamnguele.com)
欢迎任何帮助。
我认为您需要删除 /wait
,因为它会阻止等待 iisexpress 停止的构建管道,但那里没有人阻止它。
请注意,在 AppVeyor 中,您始终可以使用 RDP connection to build worker 解决此类问题。
谢谢,
伊利亚.
我发现了问题所在,实际上我需要添加参数 -PassThru
让进程 运行 在后台运行。
这是我更新后的代码:
cd \Program Files\IIS Express
start /wait iisexpress /path:%APPVEYOR_BUILD_FOLDER% /port:%iis_port% -PassThru
echo "Start operations"
新结果: