Kill

通過 kill 和 pid=0 發送信號

  • April 9, 2017

來自殺戮man

如果 pid 為 0,則應將 sig 發送給程序組 ID 等於發送者的程序組 ID 且該程序有權發送信號的所有程序(不包括未指定的系統程序集)

究竟是for which the process has permission to send a signal什麼意思?如何檢查哪些程序會收到信號?

例如,kill -9 0殺死在目前ttytty本身中啟動的每個程序。或者還有別的什麼?

究竟是for which the process has permission to send a signal什麼意思?

它在聯機幫助頁中得到了回答:

對於有權發送信號的程序,它必須具有特權,或者發送程序的真實或有效使用者 ID 必須等於目標程序的真實或保存的 set-user-ID。在SIGCONT的情況下,發送和接收程序屬於同一個會話就足夠了。

如何檢查哪些程序會收到信號?

您可以遍歷程序列表並嘗試使用信號 0(空執行信號)殺死每個程序。這將告訴您是否已獲得發送真實信號的許可。

引用自:https://unix.stackexchange.com/questions/357921