假设我们有一个BASH脚本在后台运行一些命令。在某些时候,无论他们是否完成了工作,我们都希望杀死所有人。
以下是一个例子:
function command_doing_nothing () {
sleep 10
echo "I'm done"
}
for (( i = 0; i < 3; i++ )); do
command_doing_nothing &
done
echo "Jobs:"
jobs
sleep 1
# Now we want to kill them
如何杀死在后台运行的3个工作?
答案 0 :(得分:3)
要杀死所有作业(只要此脚本在其自己的shell实例中运行):
for x in $(jobs -p); do kill $x; done