Perché questo comando 'kill' mi disconnette dal computer?


40

Il seguente comando mi disconnette ( non eseguire questo comando):

kill -9 -1

Non capisco perché.

Qualcuno può spiegarmelo?

Risposte:


71

La sintassi è kill SIGNAL PID.

L' -9opzione specifica che il SIGKILLsegnale deve essere inviato (termina immediatamente il / i processo / i target e che specifica il PID -1è una scorciatoia per "tutti i processi tranne se stesso e init".

Dal momento che non usi sudo(e presumibilmente non hai i permessi di root), questo uccide immediatamente tutti i processi che hai il permesso di uccidere - l'intera tua sessione, quindi disconnettendoti.


9
E nota, se esegui questo comando con sudo come sudo kill -9 -1allora il computer si riavvierà
Anwar

Si riavvierà davvero? Sembra che si schianterebbe e basta.
user606723

@utente606723 il processo di init non si chiuderà e può decidere cosa fare (se non altro) su tutti gli altri processi che sono usciti.
Casuale 832,

3
@Anwar non si riavvierà necessariamente, ti porterà a eseguire solo init, che può o meno generare una shell o ripristinare altri servizi.
mikebabcock,

27

provare

man kill

per ottenere una spiegazione del comando kill.

dice:

Un PID di -1 è speciale; indica tutti i processi tranne il processo di uccisione stesso e init.

e

ESEMPI

uccidere -9 -1

 Kill all processes you can kill.

Spero che tu capisca perché il tuo computer ti disconnetterà quando finirai tutti i processi. Hai lasciato tutto.

Spero che sia di aiuto.


18
+1 per indicare man. "Insegna a un pesce come mane lo nutri per tutta la vita." (Gioco di
parole

7

Stai dando -1come ID processo: dalla killpagina man:

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.