Por que esse comando 'kill' me desconecta do computador?


40

O comando a seguir me desconecta ( não execute este comando):

kill -9 -1

Eu não entendo o porquê.

Alguém pode me explicar isso?

Respostas:


71

A sintaxe é kill SIGNAL PID.

A -9opção especifica que o SIGKILLsinal deve ser enviado (encerre imediatamente o (s) processo (s) de destino, e especificar o PID -1é uma abreviação de "todos os processos, exceto ele próprio e o init".

Como você não usa sudo(e presumivelmente não possui permissões de root), isso mata imediatamente todos os processos que você tem permissão para matar - toda a sua sessão, desconectando-o.


9
E nota, se você executar este comando com sudo como sudo kill -9 -1, em seguida, o computador será reiniciado
Anwar

Será que realmente reiniciará? Parece que apenas iria falhar.
user606723

@ user606723 o processo init não será encerrado e pode decidir o que (se houver) fazer sobre todos os outros processos que foram encerrados.
Random832

3
@ Anwar, não será necessariamente reiniciado, você passará a executar apenas o init, que pode ou não gerar um shell ou trazer outros serviços.
Mikebabcock 13/09/12

27

experimentar

man kill

para obter uma explicação do comando kill ..

diz:

Um PID de -1 é especial; indica todos os processos, exceto o próprio processo kill e init.

e

EXEMPLOS

matar -9 -1

 Kill all processes you can kill.

Espero que você entenda por que o seu computador fará o logout quando você finalizar todos os processos. Você deixou tudo.

Espero que isto ajude.


18
+1 para apontar para man. "Ensine um peixe como mane você o alimentará por toda a vida." (Mote pretendido :-))
m000 13/09

7

Você está fornecendo -1como o ID do processo: na killpágina de manual:

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.