linux中的killall为何会失效

35次阅读

共计 327 个字符,预计需要花费 1 分钟才能阅读完成。

微信公众号: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 就失效了。

正文完
 0