enviando um sinal via kill e pid = 0

0

De kill's man :

If pid is 0, sig shall be sent to all processes (excluding an unspecified set of system processes) whose process group ID is equal to the process group ID of the sender, and for which the process has permission to send a signal

O que significa exatamente for which the process has permission to send a signal ? Como posso verificar quais processos receberão um sinal?

Por exemplo, kill -9 0 mata todos os processos que foram iniciados no tty atual e o tty em si. Ou há outra coisa?

    
por SantaXL 09.04.2017 / 12:42

1 resposta

2

What does for which the process has permission to send a signal exactly mean?

Está respondido na manpage:

For a process to have permission to send a signal it must either be privileged, or the real or effective user ID of the sending process must equal the real or saved set-user-ID of the target process. In the case of SIGCONT it suffices when the sending and receiving processes belong to the same session.

How can I check which processes will receive a signal?

Você pode percorrer a lista de processos e tentar matar cada um com o sinal 0 (o sinal de funcionamento a seco). Isso lhe dirá se você teria permissão para enviar um sinal real.

    
por 09.04.2017 / 13:09

Tags