脚本在bash中等待进程然后放弃

时间:2015-04-15 21:06:11

标签: linux bash shell

我有脚本,我假设有时挂起。

我的目标是等到脚本完成或杀死它,如果它在30秒后没有出现一些返回码。

(function) & pid=$!
 wait $pid || sleep 30 || kill -9 $pid
 finished=$?

所以我在考虑上面。我不想浪费额外的第二次睡觉,如果过程提前结束我为什么要等待。

这是正确的还是更好的方法?

1 个答案:

答案 0 :(得分:2)

有一种更好的方法:使用timeout命令。

有关详细信息,请参阅Timeout a command in bash without unnecessary delay