来自kill的man
:
如果 pid 为 0,则 sig 应发送到进程组 ID 等于发送者进程组 ID 且该进程有权发送信号的所有进程(不包括一组未指定的系统进程)
到底是什么for which the process has permission to send a signal
意思?如何检查哪些进程将收到信号?
例如,kill -9 0
杀死当前启动的所有进程终端和终端本身。或者还有别的什么吗?
答案1
到底是什么
for which the process has permission to send a signal
意思?
它的答案就在联机帮助页中:
对于有权发送信号的进程,它必须具有特权,或者发送进程的真实或有效用户 ID 必须等于目标进程的真实或保存的设置用户 ID。如果是信号控制当发送和接收进程属于同一会话时就足够了。
如何检查哪些进程将收到信号?
您可以遍历进程列表并尝试使用信号 0(空运行信号)杀死每个进程。这将告诉您是否有权发送真实信号。