我正在使用以下ant任务:
<target name="task">
<exec executable="grunt.cmd" dir="adir" failonerror="true" timeout="1000">
<arg value="test" />
<arg value="-v" />
</exec>
</target>
我想让ant任务在1秒后终止。但它不影响任何变化。任务贯穿始终。任务完成后,出现以下消息:
Timeout: killed the sub-process
但是超时被完全忽略。
关于这个问题有什么想法吗?通常cmd文件通过<exec executable="cmd">
执行,也尝试设置spawn属性,f.e:
<exec executable="cmd" dir="adir" failonerror="true" timeout="1000" spawn="true">
<arg value="/c"/>
<arg value="grunt.cmd"/>
<arg value="test"/>
<arg value="-v"/>
</exec>
否则ant将等待进程完成,因为它会收集stdout/stderr输出。
或者使用:
<parallel threadcount="1" timeout="1000">
<exec executable="cmd" dir="adir" failonerror="true">
<arg value="/c"/>
<arg value="grunt.cmd"/>
<arg value="test"/>
<arg value="-v"/>
</exec>
</parallel>