bash – 如何杀死shell的所有子进程?

前端之家收集整理的这篇文章主要介绍了bash – 如何杀死shell的所有子进程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写bash脚本,做几件事情。

一开始它启动了几个监视器脚本,每个脚本都运行一些其他工具。

在我的主要脚本结尾,我想杀死从我的shell产生的所有东西。

所以,它可能看起来像这样:

  1. #!/bin/bash
  2.  
  3. some_monitor1.sh &
  4. some_monitor2.sh &
  5. some_monitor3.sh &
  6.  
  7. do_some_work
  8. ...
  9.  
  10. kill_subprocesses

事情是,大多数这些监视器产生自己的子进程,所以做(例如):killall some_monitor1.sh并不总是帮助。

任何其他方式来处理这种情况?

启动每个子进程后,可以获取其ID
  1. ID=$!

然后,您可以使用存储的PID来查找和杀死所有孙子等进程,如herehere所述。

猜你在找的Bash相关文章