Bash 脚本退出时后台作业不干净

Bash 脚本退出时后台作业不干净,bash,sh,Bash,Sh,我想在脚本执行后杀死后台作业 main.sh #!/bin/bash set-e sh child.sh 陷阱'jobs-p | xargs-r kill'退出 child.sh #!/bin/bash 是>/dev/null& 我想杀死所有由child.sh创建的子进程,它对我有效。您使用的是什么操作系统,bash的版本是什么?(你确定是用bash而不是其他shell运行它吗?)另外,尝试使用trap'jobs-p | tee/dev/tty | xargs-r kill'EXIT查看传递

我想在脚本执行后杀死后台作业

main.sh
#!/bin/bash
set-e
sh child.sh
陷阱'jobs-p | xargs-r kill'退出
child.sh
#!/bin/bash
是>/dev/null&

我想杀死所有由
child.sh

创建的子进程,它对我有效。您使用的是什么操作系统,bash的版本是什么?(你确定是用bash而不是其他shell运行它吗?)另外,尝试使用
trap'jobs-p | tee/dev/tty | xargs-r kill'EXIT
查看传递了哪些PID。
#/bin/bash set-e yes>/dev/null&yes>/dev/null&trap“kill 0”退出
我正在使用Ubuntu-18@GordonDavisson@JatinMehrotra只杀了是的,但没有其他背景工作。我不明白
只杀了是的,但没有其他背景工作