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

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

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

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

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

#!/bin/bash

some_monitor1.sh &
some_monitor2.sh &
some_monitor3.sh &

do_some_work
...

kill_subprocesses

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

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

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

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

猜你在找的Bash相关文章