Por que esse comando 'kill' faz logout do computador?

40

O seguinte comando me desconecta ( não executa este comando):

kill -9 -1

Eu não entendo o porquê.

Alguém pode me explicar isso?

    
por hytromo 13.09.2012 / 15:13

3 respostas

72

A sintaxe é kill SIGNAL PID .

A opção -9 especifica que o sinal SIGKILL deve ser enviado (termine imediatamente o (s) processo (s) alvo e especifique o PID -1 é abreviação de "todos os processos, exceto ele próprio e init".

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

    
por chronitis 13.09.2012 / 15:18
27

tente

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 de kill         e init.

e

  

EXEMPLOS

     

kill -9 -1

 Kill all processes you can kill.

Espero que você entenda por que seu computador fará seu logout quando você encerrar todos os processos. Você desistiu de tudo.

Espero que isso ajude.

    
por mondjunge 13.09.2012 / 15:22
7

Você está dando -1 como o ID do processo: da kill man-page:

 A  PID of -1 is special; it indicates all processes except the
 kill process itself and init.
    
por Tom Regner 13.09.2012 / 15:17