Pourquoi cette commande "kill" me déconnecte-t-elle de l'ordinateur?

40

La commande suivante me déconnecte ( ne lance pas cette commande):

kill -9 -1

Je ne comprends pas pourquoi.

Quelqu'un peut m'expliquer cela?

Hytromo
la source

Réponses:

71

La syntaxe est kill SIGNAL PID.

L' -9option spécifie que le SIGKILLsignal doit être envoyé (mettre immédiatement fin au (x) processus cible (s), et spécifier le PID -1est un raccourci pour "tous les processus sauf lui-même et init".

Étant donné que vous n'utilisez pas sudo(et ne possédez probablement pas d'autorisations root), tous les processus que vous avez l'autorisation de tuer sont supprimés immédiatement, c'est-à-dire toute votre session, ce qui vous déconnecte.

chronite
la source
9
Et notez, si vous exécutez cette commande avec sudo comme sudo kill -9 -1alors l'ordinateur redémarre
Anwar
Va-t-il vraiment redémarrer? On dirait que ça va juste s'écraser.
user606723
@ user606723 le processus init ne se terminera pas et peut décider quoi faire (le cas échéant) à propos de tous les autres processus terminés.
Random832
3
@Anwar ne redémarrera pas nécessairement, il vous laissera exécuter uniquement init, ce qui pourrait ou non engendrer un shell ou ramener d'autres services.
mikebabcock
27

essayer

man kill

pour obtenir une explication de la commande kill.

ça dit:

Un PID de -1 est spécial; il indique tous les processus sauf le processus de suppression proprement dit et init.

et

EXEMPLES

tuer -9 -1

 Kill all processes you can kill.

J'espère que vous comprenez pourquoi votre ordinateur vous déconnectera lorsque tous les processus seront terminés. Vous avez tout quitté.

J'espère que cela t'aides.

Mondjunge
la source
18
+1 pour pointer vers man. "Enseigne à un poisson manet tu le nourriras toute sa vie." (
Jeu de mots
7

Vous donnez -1comme identifiant de processus: à partir de la killpage de manuel:

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
Tom Regner
la source