¿Por qué este comando 'kill' me desconecta de la computadora?

40

El siguiente comando me cierra la sesión ( no ejecute este comando):

kill -9 -1

No entiendo por qué.

¿Alguien puede explicarme esto?

hytromo
fuente

Respuestas:

71

La sintaxis es la siguiente kill SIGNAL PID.

La -9opción especifica que SIGKILLse debe enviar la señal (terminar inmediatamente el proceso o procesos objetivo, y especificar el PID -1es la abreviatura de "todos los procesos excepto sí mismo e init".

Dado que no usa sudo(y presumiblemente no tiene permisos de root), esto inmediatamente elimina todos los procesos que tiene permiso para matar: toda su sesión, por lo tanto, cierra la sesión.

cronitis
fuente
9
Y tenga en cuenta que si ejecuta este comando con sudo como sudo kill -9 -1entonces la computadora se reiniciará
Anwar
¿Realmente se reiniciará? Parece que simplemente se estrellaría.
user606723
@ user606723 el proceso de inicio no se cerrará, y puede decidir qué (si es que hay algo) que hacer con respecto a todos los demás procesos que han salido.
Random832
3
@Anwar no se reiniciará necesariamente, lo llevará a ejecutar solo init, que puede o no generar un shell o recuperar otros servicios.
mikebabcock
27

tratar

man kill

para obtener una explicación del comando kill ...

dice:

Un PID de -1 es especial; indica todos los procesos, excepto el proceso de eliminación en sí y init.

y

EJEMPLOS

matar -9 -1

 Kill all processes you can kill.

Espero que comprenda por qué su computadora lo desconectará cuando finalice todos los procesos. Dejaste todo.

Espero que esto ayude.

mondjunge
fuente
18
+1 para señalar man. "Enseña a un pez cómo many lo alimentarás toda la vida". (Juego de palabras :-))
m000
7

Está dando -1como id de proceso: desde la killpágina de manual:

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