使用wait命令杀死bash脚本



一个bash脚本demo.sh

#!/bin/bash ./prog1 & ./prog2 & wait

使用timeout -s 9 5m demo.sh运行脚本。

脚本demo.sh过去没有&wait。我想知道timeout是否会在超时时杀死prog1和prog2。如何确保所有子流程都被终止?

当您终止由demo.sh(除非您执行类似disown $PID的操作)。

您可以通过kill -0:确保这种情况发生

./prog1 &
echo P1=$!
./prog2 &
echo P2=$!

然后可以kill -0 ${PID1}kill -0 ${PID2},并确保命令返回退出状态1,这意味着"找不到进程"

相关内容

  • 没有找到相关文章