Comment tuer tous les processus sous Linux

16

Je veux tuer tous les processus sur mon ordinateur. Quelle commande puis-je utiliser pour ce faire?

Der Hochstapler
la source
4
Tous les processus? sudo reboot
Stephen
1
Parlez-vous des processus qui vous appartiennent ou de tous les processus du système en cours d'exécution?
J.Polfer
3
@Stephen - alors il / elle finirait avec tous les processus en cours de redémarrage et c'est la dernière chose que vous voulez quand vous les voulez tous MORTS!
x3ja

Réponses:

29

shutdown -h now


la source
9
D'accord, les processus se sont arrêtés, tout comme l'ordinateur. Cette réponse est comme répondre à «comment arrêter de s'inquiéter autant» par «suicide».
Andrew
29

La commande killall5 -9mettra fin de force à tous les processus en cours d'exécution à l'exception de votre shell de connexion, init et des processus spécifiques au noyau.

Plus d'informations ici: http://linux.about.com/library/cmd/blcmdl8_killall5.htm

rakuo15
la source
OK, je l'ai fait, et maintenant ma machine est sur une boucle continue où elle me demande le mot de passe, va sur le bureau, revient au shell de connexion et demande à nouveau le mot de passe. Comment en ressortir?
Mahathi Vempati
Le lien renvoie maintenant à un sujet différent.
fixer1234
8

Vous pouvez tuer tous les processus d'un utilisateur donné en utilisant l'un de ceux-ci:

killall -u username

ou

pkill -u username

ou vous pouvez utiliser l'UID numérique au lieu du nom d'utilisateur.

Attention, cela killallfonctionne différemment (de la même manière que killall5) sur certains systèmes comme Solaris.

En pause jusqu'à nouvel ordre.
la source
8

La manière la plus simple est d'utiliser la clé Magic SysRq : Alt+ SysRq+ i. Cela tuera tous les processus à l'exception de init.

Alt+ SysRq+ oarrêtera le système (tuant également init).

Notez que vous devrez peut-être d'abord régler le clavier sur le mode XLATE: Alt+ SysRq+r

Notez également que sur certains claviers modernes, vous devez utiliser PrtScplutôt que SysRq.

sml
la source
Veuillez noter qu'il est recommandé d'utiliser Alt + Shift + SysRq + reisub pour un redémarrage en toute sécurité.
l0b0
7

Dans certaines distributions Linux, vous pouvez passer au niveau d'exécution 0 - qui, je pense, est arrêté, mais toujours activé:

sudo telinit 0

J'ai en fait entendu parler de cela étant utilisé pour des serveurs de pare-feu dédiés car il garde certains des trucs de noyau de bas niveau nécessaires chargés comme iptables ... bizarre hein? Voir ici pour plus d'informations.

Pour voir quelles distributions font quoi à chaque niveau d'exécution, jetez un œil ici .

x3ja
la source
1
Lorsque je passe mon ordinateur au niveau d'exécution 0, il s'éteint en fait ...
David Z
1
Il semble que cela dépende de votre saveur de Linux - en.wikipedia.org/wiki/Runlevel#Linux - modifiera un peu ma réponse.
x3ja
4

Pour tuer tous les processus appartenant à l'utilisateur actuel, vous pouvez:

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

Bien sûr, cela tuera également le shell à partir duquel vous êtes actuellement connecté. Si vous ne voulez pas ce comportement, essayez la réponse de raku015.

Notez que si vous l'exécutez en tant qu'utilisateur root, de mauvaises choses se produiront.

bdk
la source
4

Le moyen le plus rapide et le plus infaillible de tuer tous les processus consiste à retirer le cordon d'alimentation du mur.

Doug Harris
la source
2
FTFY: s / proof / ish /
Chris Nava
4
:-) C'est une question d'opinion. L'OP n'a pas précisé quel était l'objectif souhaité au-delà de "tuer tous les processus". Je pense qu'il serait stupide d'avoir une commande pour tuer tous les processus.
Doug Harris
2
Je suis d'accord. Sans oublier qu'il est également un peu difficile sur le système de fichiers de tuer le pouvoir comme ça.
Chris Nava
2
Et retirez la batterie s'il s'agit d'un ordinateur portable.
Keith Thompson
1
Et l'enfermer dans du ciment pour s'assurer qu'il n'a jamais lancé de nouveaux processus?
Mokubai
2

Vous pouvez également utiliser la commande kill suivante.

tuer -15 -1

le geek
la source
1

J'utiliserais la commande ci-dessous. (C'est celui que j'utilise quand je suis resté)

kill -9 -1

Cela tuera tous les processus. Mon environnement est Ubuntu. Si je tape ceci dans le terminal, cela fermera tous les processus et vous amènera à l'écran de connexion (presque comme déconnecté)

Menuka Ishan
la source
C'est presque identique à la réponse qui dit aussi kill -9 -1plus une autre ligne de mise à mort - votre réponse semble-t-elle vraiment être une réponse différente, ou devrait-elle être dans un commentaire à l'autre réponse?
Xen2050
0
kill -9 -1 
kill -kill 0
0fnt
la source
Je ne suis pas sûr que vous aurez le temps de taper kill -kill 0 après la première commande
Menuka Ishan