enviando um sinal via kill e pid=0

enviando um sinal via kill e pid=0

De matar man:

Se pid for 0, sig será enviado para todos os processos (excluindo um conjunto não especificado de processos do sistema) cujo ID do grupo de processos seja igual ao ID do grupo de processos do remetente e para os quais o processo tenha permissão para enviar um sinal

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

Por exemplo, kill -9 0mata todos os processos que foram iniciados no atualttye attyem si. Ou há algo mais?

Responder1

O que significa for which the process has permission to send a signalexatamente?

Está respondido ali mesmo na página de manual:

Para que um processo tenha permissão para enviar um sinal, ele deve ser privilegiado ou o ID de usuário real ou efetivo do processo remetente deve ser igual ao ID de usuário definido real ou salvo do processo de destino. No caso deSIGCONTé suficiente quando os processos de envio e recebimento pertencem à mesma sessão.

Como posso verificar quais processos receberão um sinal?

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

informação relacionada