linux - 向流程组的所有成员发送信号的最佳方式是什么?

标签 linux shell process signals

我想杀死整个进程树。使用任何常见脚本语言执行此操作的最佳方法是什么?我正在寻找一个简单的解决方案。

最佳答案

你不说你想杀死的树是否是一个单一的进程组。 (如果树是从服务器启动或 shell 命令行派生的结果,通常就是这种情况。)您可以使用 GNU ps 发现进程组,如下所示:

 ps x -o  "%p %r %y %x %c "

如果它是一个你想杀死的进程组,只需使用 kill(1) 命令但不要给它一个进程号,而是给它否定组号。例如,要终止组 5112 中的每个进程,请使用 kill -TERM -- -5112

关于linux - 向流程组的所有成员发送信号的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45280363/

相关文章:

linux - 双重免费 - 崩溃或不崩溃

linux - 如何在 Linux 上检测/proc/self/maps 中的可执行文件或共享对象

c++ - 当我尝试用 makefile 编译我的 qt 程序时它不起作用

bash - 为什么 (*.foo|bar) 会导致错误,而 !(*.foo|bar) 不会?

相当于 bash 'set -x' 的 Windows 批处理

c - 关于操作系统的进程安排?

c# - 杀死所有重复打开的ffmpeg进程c#

python - 启动时 raspbian python 脚本 EOF 错误

java - 如何在调用继续进程时结束 C Shell 脚本

c# - 如何从 .NET 程序打开 Web 浏览器? Process.Start() 不工作?