O que acontece quando tento usar kill com um id de processo inferior a -1?

4

Estou estudando para um exame e não tenho certeza sobre o que acontece se eu usar kill com pid < -1 .

Estou autorizado a encerrar processos de um grupo no qual não estou incluído?

Quais processos são afetados?

    
por alberto 05.08.2016 / 14:13

1 resposta

3

De página de manual , para fins informativos:

If pid is less than -1, then sig is sent to every process in the process group whose ID is -pid.

A resposta é dada genericamente, mas também se aplica a este caso:

For a process to have permission to send a signal it must either be privileged (under Linux: have the CAP_KILL capability), or the real or effective user ID of the sending process must equal the real or saved set-user-ID of the target process.

No nosso caso, isso significa que o processo de chamada deve receber o recurso CAP_KILL, ou o uid do processo de chamada deve ser o mesmo que o (conjunto) uid de cada processo que você deseja finalizar.

O envio de um kill -56 tentará encerrar todos os processos do grupo 56, mas se um deles tiver um uid diferente do processo de chamada, ele não será finalizado.

Digamos que você tenha os IDs de processo 9000, 9010 e 9020 no grupo 56, kill -56 é o mesmo que kill 9000 9010 9020 . E se você não tiver o mesmo uid , digamos, pid 9020 , não poderá finalizá-lo.

    
por 05.08.2016 / 14:45