![killall 命令的 man 页解释](https://linux22.com/image/1496018/killall%20%E5%91%BD%E4%BB%A4%E7%9A%84%20man%20%E9%A1%B5%E8%A7%A3%E9%87%8A.png)
来自的手册页killall
:
killall 实用程序通过名称杀死选定的进程,而不是像 kill(1) 那样通过 pid 进行选择。默认情况下,它将向所有具有与 killall 调用者相同的真实 UID 且与名称 procname 匹配的进程发送 TERM 信号。超级用户可以杀死任何进程。
这里是啥caller of killall
?我很困惑,因为我正在运行该killall
命令,所以我不是在调用它吗?
答案1
在手册中,正如你所说,你是的调用者killall
;killall
将杀死所有与你指定的名称匹配的进程也匹配调用者(您的)UID(用户 ID),也就是仅匹配调用者(您)拥有的进程。这样一来,调用者就无法意外(或恶意)终止不属于自己且无权终止的进程。
正如手册页引文的最后一句所述,超级用户(UID 0)始终可以终止任何进程,即使该进程不属于超级用户。