当父进程退出时,fork 子进程死掉? (bash)

Fork child process to die when parent exits? (bash)

我正在处理并行处理,而不是处理 cvar 和锁,我发现在 shell 脚本中按顺序 运行 一些命令以避免竞争条件要容易得多在一个地方。新问题是其中一个命令调用另一个程序,OS 已决定将其放入新进程。我需要从父程序中杀死这个进程,但是父程序只知道父程序的pid(shell脚本),所以这个进程一直在自己执行。

bash 中有没有一种方法可以将子进程设置为在父进程死亡时死亡?我试图弄清楚如何将它作为守护进程执行,因为我读到守护进程在父进程死亡时退出,但这很棘手,我不能完全正确。谢谢!

找到了问题,并修复了它(除了一些无法以某种方式重定向到 /dev/null 的烦人消息)。

trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT