Jam*_*s F 14
假设进程共享一个会话标识符(除非他们明确调用了setsid(),否则他们应该共享一个会话标识符,您可以使用pkill通过会话杀死它们:
user@machine:~> ps -o pid,sess,cmd -U user
PID SESS CMD
12804 12804 -bash
12916 12804 ps -o pid,sess,cmd -U user
user@machine:~> sh
sh-3.00$ sh
sh-3.00$ sh
sh-3.00$ sh
sh-3.00$ sh
sh-3.00$ sh
sh-3.00$ ps -o pid,sess,cmd -U user
PID SESS CMD
12804 12804 -bash
12920 12804 sh
12921 12804 sh
12922 12804 sh
12924 12804 sh
12926 12804 sh
12928 12804 sh
12937 12804 ps -o pid,sess,cmd -U user
sh-3.00$
Run Code Online (Sandbox Code Playgroud)
如果从另一个终端我做:
pkill -9 -s 12804
Run Code Online (Sandbox Code Playgroud)
然后一切都一举消亡。
您可以类似地按进程组杀死,尽管这对于许多都比父进程低一级的子进程更有用,而不是关联进程链。