Von Kills man
:
Wenn pid 0 ist, wird sig an alle Prozesse gesendet (mit Ausnahme einer nicht angegebenen Menge von Systemprozessen), deren Prozessgruppen-ID mit der Prozessgruppen-ID des Absenders übereinstimmt und für die der Prozess die Berechtigung zum Senden eines Signals hat.
Was bedeutet das for which the process has permission to send a signal
genau? Wie kann ich überprüfen, welche Prozesse ein Signal empfangen?
Beendet beispielsweise kill -9 0
alle Prozesse, die im aktuellenttyund dasttyselbst. Oder gibt es noch etwas anderes?
Antwort1
Was
for which the process has permission to send a signal
bedeutet das genau?
Die Antwort darauf findet sich direkt auf der Manpage:
Damit ein Prozess die Berechtigung zum Senden eines Signals hat, muss er entweder privilegiert sein oder die tatsächliche oder effektive Benutzer-ID des sendenden Prozesses muss mit der tatsächlichen oder gespeicherten Set-User-ID des Zielprozesses übereinstimmen. Im Fall vonSIGCONTes reicht aus, wenn Sende- und Empfangsprozess zur selben Sitzung gehören.
Wie kann ich überprüfen, welche Prozesse ein Signal empfangen?
Sie könnten die Prozessliste durchgehen und versuchen, jeden Prozess mit Signal 0 (dem Probelaufsignal) zu beenden. Dadurch erfahren Sie, ob Sie die Berechtigung zum Senden eines echten Signals gehabt hätten.