So beenden Sie alle Prozesse unter Linux

16

Ich möchte alle Prozesse auf meinem Computer beenden. Mit welchem ​​Befehl kann ich das tun?

Der Hochstapler
quelle
4
Alle Prozesse? sudo reboot
Stephen
1
Sprechen Sie über Prozesse, die Ihnen gehören, oder über alle Prozesse im aktuell ausgeführten System?
J. Polfer
3
@Stephen - dann würde er / sie einfach alle Prozesse neu starten und das ist das Letzte, was Sie wollen, wenn Sie sie alle TOT haben wollen!
x3ja

Antworten:

29

shutdown -h now


quelle
9
Ok, die Prozesse wurden gestoppt, ebenso wie der Computer. Diese Antwort ist wie die Antwort "Wie man aufhört, sich so viele Sorgen zu machen" mit "Selbstmord".
Andrew
29

Der Befehl killall5 -9beendet alle laufenden Prozesse mit Ausnahme Ihrer Login-Shell-, Init- und Kernel-spezifischen Prozesse.

Weitere Informationen finden Sie hier: http://linux.about.com/library/cmd/blcmdl8_killall5.htm

rakuo15
quelle
OK, ich habe dies getan, und jetzt befindet sich mein Computer in einer Endlosschleife, in der er mich nach dem Kennwort fragt, zum Desktop wechselt, zur Anmeldeshell zurückkehrt und erneut nach dem Kennwort fragt. Wie komme ich da raus?
Mahathi Vempati
Der Link verweist jetzt auf ein anderes Thema.
Fixer1234
8

Sie können alle Prozesse eines bestimmten Benutzers mit einer der folgenden Methoden beenden:

killall -u username

oder

pkill -u username

oder Sie können die numerische UID anstelle des Benutzernamens verwenden.

Beachten Sie, dass dies auf einigen Systemen wie Solaris killallanders (ähnlich killall5) funktioniert .

Bis auf weiteres angehalten.
quelle
8

Am einfachsten ist es, den Magic SysRq- Schlüssel zu verwenden: Alt+ SysRq+ i. Dies beendet alle Prozesse außer init.

Alt+ SysRq+ oWird das System (Tötung init auch) heruntergefahren.

Beachten Sie, dass Sie möglicherweise zuerst die Tastatur in den XLATE-Modus versetzen müssen: Alt+ SysRq+r

Beachten Sie auch, dass Sie bei einigen modernen Tastaturen PrtSceher als verwenden müssen SysRq.

sml
quelle
Bitte beachten Sie, dass für einen sicheren Neustart Alt + Shift + SysRq + reisub empfohlen wird .
10b0
7

In einigen Linux-Distributionen können Sie zu Run Level 0 wechseln - was meiner Meinung nach angehalten, aber immer noch eingeschaltet ist:

sudo telinit 0

Ich habe tatsächlich davon gehört, dass dies für dedizierte Firewall-Server verwendet wird, da einige der benötigten Kernel-Inhalte auf niedriger Ebene wie iptables geladen bleiben ... seltsam, oder? Sehen Sie hier für weitere Informationen.

Um zu sehen, welche Distributionen auf jedem Runlevel was tun, schauen Sie hier .

x3ja
quelle
1
Wenn ich meinen Computer auf Runlevel 0 schalte, schaltet er sich tatsächlich aus ...
David Z
1
Es scheint, dass es von Ihrem Linux-Geschmack abhängt - en.wikipedia.org/wiki/Runlevel#Linux - wird meine Antwort ein wenig bearbeiten.
x3ja
4

So beenden Sie alle Prozesse, die dem aktuellen Benutzer gehören:

ps x | awk {'print $1'} | xargs kill

Dies wird natürlich auch die Shell töten, von der aus Sie gerade angemeldet sind. Wenn Sie dieses Verhalten nicht möchten, versuchen Sie die Antwort von raku015.

Beachten Sie, dass, wenn Sie dies als Root-Benutzer ausführen, schlimme Dinge passieren werden.

bdk
quelle
4

Der schnellste und kinderleichteste Weg, um alle Prozesse abzubrechen, besteht darin, das Netzkabel von der Wand zu ziehen.

Doug Harris
quelle
2
FTFY: s / Proof / ish /
Chris Nava
4
:-) Das ist Ansichtssache. Das OP hat nicht angegeben, was das gewünschte Ziel ist, das über "Alle Prozesse beenden" hinausgeht. Ich denke, es wäre dumm, einen Befehl zu haben, um alle Prozesse zu beenden.
Doug Harris
2
Genau. Ganz zu schweigen davon, dass es auch für das Dateisystem etwas schwierig ist, die Stromversorgung so zu unterbrechen.
Chris Nava
2
Und entfernen Sie den Akku, wenn es sich um einen Laptop handelt.
Keith Thompson
1
Und umhüllen Sie es mit Zement, um sicherzustellen, dass nie neue Prozesse gestartet werden?
Mokubai
2

Sie können auch den folgenden Befehl kill verwenden.

töte -15 -1

Der Nerd
quelle
1

Ich würde unten Befehl verwenden. (Dies ist die, die ich benutze, wenn ich stecke)

kill -9 -1

Dadurch werden alle Prozesse beendet. Meine Umgebung ist Ubuntu. Wenn ich dies in das Terminal eingebe, werden alle Prozesse geschlossen und Sie gelangen zum Anmeldebildschirm (fast wie abgemeldet).

Menuka Ishan
quelle
Das ist fast identisch mit der Antwort, die auch kill -9 -1plus eine weitere Tötungszeile sagt - scheint Ihre Antwort wirklich eine andere Antwort zu sein, oder sollte sie vielleicht in einem Kommentar zur anderen Antwort stehen?
Xen2050
0
kill -9 -1 
kill -kill 0
0fnt
quelle
Ich würde nicht sicher sein, dass Sie nach dem ersten Befehl Zeit bekommen werden, kill -kill 0
einzugeben