教程简介:
一般我们在杀死一个进程的时候,通过命令 ps
-aux
| grep
进程名返回一个进程的进程号,然后通过 kill
杀死这个进程。
但是,如果进程的 pid
一直变化(不断被杀死并重启),那么 kill
时我们匹配的 pid
将不复存在,导致 kill
失败;
还有一些进程有多个子进程,我们想同时杀死所有相关的进程。一个一个操作起来会比较麻烦。
解决方法
如何从 ps
aux
的结果中提取 pid
?
如果要取出 PID
进行后面的操作,比如 kill
,首先要用 tr
命令压缩列与列之间的空格,把多个空格压缩成一个,然后用 cut
命令按照空格拆分列,取出第二个位置的值,也就是 PID
。然后将结果输入 kill
命令。如下所示:
kill
$(ps
aux
| grep
'进程名等标识' | tr
-s
' '| cut
-d
' ' -f
2)
转载请注明:汇站网 » Linux
如何杀死一个 pid
不断变化或者有多个子进程的进程?