Linux 在bash中编写脚本以等待进程,然后放弃

Linux 在bash中编写脚本以等待进程,然后放弃,linux,bash,shell,Linux,Bash,Shell,我有一个脚本,我假设它有时会挂起 我的目标是等到脚本完成,或者在30秒后,如果脚本没有出现并返回一些代码,就杀死它 (function) & pid=$! wait $pid || sleep 30 || kill -9 $pid finished=$? 所以我想到了上面。若进程提前完成,我不想浪费额外的第二次睡眠,这就是为什么我要使用wait 这是正确的方法还是更好的方法?有一种更好的方法:使用timeout命令 有关更多详细信息,请参阅。这已被回答多次-下面是如何在bash中执

我有一个脚本,我假设它有时会挂起

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

(function) & pid=$!
 wait $pid || sleep 30 || kill -9 $pid
 finished=$?
所以我想到了上面。若进程提前完成,我不想浪费额外的第二次睡眠,这就是为什么我要使用wait


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

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


有关更多详细信息,请参阅。

这已被回答多次-下面是如何在bash中执行超时: