【发布时间】:2019-09-18 08:38:13
【问题描述】:
我有一个 sample.sh 脚本:
#!/bin/sh
echo "start";
exec java -jar myjar.jar
echo "finished successfully";
如何添加超时
exec java -jar myjar.jar 命令?
10 秒后,java 程序应该被终止并且应该打印:
标准输出上的“FAIL: Timed out after java -jar myjar.jar”。
【问题讨论】:
-
不要使用
exec;用 Java 程序替换当前进程,而不是在 Java 程序完成之前暂停它。exec成功,echo "finished..."从不 执行,或者exec失败,java从不运行,echo "finished..."立即执行。跨度> -
使用
timeout。像if timeout 10 sleep 5 ; then ; echo "success" ; else ; echo "fail" ; fi这样的东西。使用您的java ...而不是sleep 5。