gpt4 book ai didi

java - 在 Ant exec 任务中检测超时

转载 作者:太空宇宙 更新时间:2023-11-03 10:26:01 24 4
gpt4 key购买 nike

当你在Ant exec task中设置了timeout属性,当task超时了进程,有没有办法检测超时?我在结果、输出或错误属性中没有看到任何有用的指示超时的信息。

最佳答案

<exec> 由于超时杀死子进程,父 Ant 进程记录消息 Timeout: killed the sub-process .然而,由于 <exec>重定向器仅捕获子进程的输出,<exec> 中没有超时指示outputPropertyerrorProperty .

要设置指示子进程超时的属性,可以使用 <record> 捕获 Ant 的日志输出。任务如下例所示。

<target name="exec-timeout">
<record name="exec.log" action="start" />
<exec executable="java" timeout="1500">
<arg line="-jar /path/to/executable.jar" />
</exec>
<record name="exec.log" action="stop" />

<condition property="timed-out" else="false">
<resourcecontains resource="exec.log"
substring="Timeout: killed the sub-process" />
</condition>
<delete file="exec.log" />

<echo message="exec timed out: ${timed-out}" />
</target>

输出

exec-timeout:
[exec] Timeout: killed the sub-process
[exec] Result: 143
[echo] exec timed out: true

BUILD SUCCESSFUL
Total time: 2 seconds

关于java - 在 Ant exec 任务中检测超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12501917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com