我正在编写一个 bash 脚本,它做了几件事。
一开始它会启动几个监控脚本,每个脚本都运行一些其他工具。
在我的主脚本结束时,我想杀死所有从我的 shell 中产生的东西。
所以,它可能看起来像这样:
#!/bin/bash
some_monitor1.sh &
some_monitor2.sh &
some_monitor3.sh &
do_some_work
...
kill_subprocesses
问题是这些监视器中的大多数都会产生自己的子进程,所以这样做(例如):killall some_monitor1.sh
并不总是有帮助。
有没有其他方法来处理这种情况?