乐趣区

linux中的killall为何会失效

微信公众号:51 码农网
专业编程问答社区
www.51manong.com

killall 命令可以根据进程名称来杀死进程。killall 杀死一个进程的时候,会去 proc 文件系统下查找各个进程 id 的 stat 文件和 cmdline。这个我们可以根据 strace killall java(假设杀死的进程名称是 java)来看到 killall 杀死进程做的事情。在来看一个 stat 文件内容:

[root@ky35z ~]# cat /proc/21715/stat
21715 (java) S 1 21707 21447 0 -1 1077944320 .....

killall 命令会去读取进程在 proc 文件系统中的 stat 文件里面的名字。如果这个名字和你要杀死的进程对不上了。killall 就失效了。

退出移动版