我在Windows上使用Jenkins,想运行csscript来启动应用程序并执行自动测试,现在我想创建一个超时,这样在应用程序运行超过30分钟的情况下,它就会被杀死,
我有一个批处理脚本:首先我创建一个等待应用程序启动的FOR循环,然后创建另一个检查应用程序是否启动超过25分钟的FOR循环。
问题是我在第一个循环中得到了这个错误处理泄漏的文件描述符。看见http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processs+from+build获取更多信息我阅读了维基上的信息,但并不真正理解如何解决我的问题请帮助
start cscript //nologo D:tets.vbs
FOR /L %%A IN (1,1,20) DO (
echo Round number %%A
REM find the running executable
tasklist | find /I /C "App.exe" > nul
echo ERRORLEVEL is !ERRORLEVEL!
IF !ERRORLEVEL! EQU 0 EXIT
rem wait 3 seconds
ping 1.1.1.1 -n 1 -w 3000 > nul
)
FOR /L %%U IN (1,1,50) DO (
echo Round number %%U
REM find the running executable
tasklist | find /I /C "App.exe" > nul
echo ERRORLEVEL is !ERRORLEVEL!
if !ERRORLEVEL! EQU 1 EXIT
rem wait 30 seconds
ping 1.1.1.1 -n 1 -w 30000 > nul
)
echo TASKILL
taskkill /f /im App.exe
如果您想暂停构建,请使用构建超时插件
编辑:
对于您链接的文章,建议使用at
命令。而不是:start cscript //nologo D:tets.vbs
使用at %time% start cscript //nologo D:tets.vbs
您必须计算下一个%time%
(以分钟为单位),显然作业必须等待该分钟才能开始,所以最多延迟1秒,更糟的是延迟59秒。