Warum meldet mich dieser Befehl 'kill' vom Computer ab?


40

Der folgende Befehl meldet mich ab ( diesen Befehl nicht ausführen):

kill -9 -1

Ich verstehe nicht warum.

Kann mir das jemand erklären?

Antworten:


71

Die Syntax lautet kill SIGNAL PID.

Die -9Option gibt an, dass das SIGKILLSignal gesendet werden soll (sofortiges Beenden der Zielprozesse), und die Angabe der PID -1ist eine Abkürzung für "alle Prozesse außer sich selbst und init".

Da Sie nicht verwenden sudo(und vermutlich keine Root-Berechtigungen haben), werden alle Prozesse, zu deren Beendigung Sie berechtigt sind, sofort abgebrochen - Ihre gesamte Sitzung, wodurch Sie abgemeldet werden.


9
Und beachten Sie, wenn Sie diesen Befehl mit sudo wie ausführen, wird sudo kill -9 -1der Computer neu
— Anwar

Wird es wirklich neu starten? Es scheint, als würde es einfach abstürzen.
— user606723

@ user606723 Der Init-Prozess wird nicht beendet und kann entscheiden, was (wenn überhaupt) mit allen anderen Prozessen geschehen soll, die beendet wurden.
— Random832,

3
@Anwar es wird nicht notwendigerweise neu gestartet, es wird Sie dazu bringen, nur init auszuführen, was möglicherweise eine Shell erzeugt oder andere Dienste wieder aufruft.
— Mikebabcock

27

Versuchen

man kill

um eine Erklärung des Befehls kill zu erhalten ..

es sagt:

Eine PID von -1 ist etwas Besonderes. Es zeigt alle Prozesse außer dem Kill-Prozess selbst und init an.

und

Beispiele

kill -9 -1

 Kill all processes you can kill.

Ich hoffe, Sie verstehen, warum Ihr Computer Sie abmeldet, wenn Sie alle Prozesse beenden. Du hast alles aufgegeben.

Hoffe das hilft.


18
+1 für das Zeigen auf man. "Bring einem Fisch bei, wie er gefüttert wird, manund du fütterst ihn ein Leben lang." (
— Wortspiel

7

Sie geben -1als Prozess-ID an: aus der killManpage:

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.