如果bash脚本以超时开始,如何退出呢?

时间:2019-04-24 11:21:41

标签: linux bash ubuntu timeout kill

我使用超时功能运行脚本

timeout 86400 ./start.sh

如何在倒计时之前终止脚本? Ctr + C在这种情况下不起作用 关闭终端仍使进程处于后台状态

这是我的完整剧本:

python3 startmeVtest.py 5 2 10
timeout 86400 ./start.sh
sleep 4
python3 startmeVtest.py 10 4 20
timeout 86400 ./start.sh
sleep 4
python3 startmeVtest.py 20 4 40
timeout 86400 ./start.sh
sleep 4
python3 startmeVtest.py 30 8 50
timeout 86400 ./start.sh
sleep 4
python3 startmeVtest.py 50 9 70
./start.sh
exit 0

我想在我的bash脚本完成之前退出,而不一直使用ps -A。

2 个答案:

答案 0 :(得分:0)

使用grep通过名称查找进程列表

pgrep timeout

按名称杀死所有进程

pkill timeout 

答案 1 :(得分:0)

以下内容将直接杀死您的start.sh脚本

pkill -f "start.sh"