exemplo do grupo de processos do Linux

0

O que é um grupo de processos, já foi solicitado e respondido aqui :

A process group is a collection of related processes which can all be signalled at once.

Infelizmente, não há um exemplo do mundo real de como e quando você inicia uma "coleção de processos relacionados que podem ser sinalizados de uma só vez".

Alguém aqui poderia me dar algum exemplo de código de onde ele está iniciando um grupo de processos e matando todos os processos dentro com kill -- -0 ?

Por exemplo, o servidor web apache com seus filhos seria um grupo de processos em que, quando o processo principal é eliminado, o restante dos PIDs dentro do grupo de processos também é eliminado?

    
por chevallier 13.12.2017 / 18:21

1 resposta

2

Existem muitos exemplos do mundo real; some_app da questão vinculada pode ser ls ou cat ou o exemplo mais complicado

$ ps axo ppid,pid,pgid,command | grep $$
41613  2926  2926 mksh -l
 2926 14131 14131 ps axo ppid,pid,pgid,command
 2926 14132 14131 grep 2926
$ 

que mostra que o shell ( mksh ) iniciou um novo grupo de processos ( 14131 ) que possui membros 14131 e 14132 . Estes poderiam ser sinalizados se não fosse pelo fato de não permanecerem por perto; para isso você precisa de um sleep ou alguma forma de bloqueio

$ perl -e 'warn $$; sleep 999' | perl -ne 'sleep 999'
14148 at -e line 1.

e depois em outro lugar você pode executar kill -- -14148 para matar esse grupo.

    
por 13.12.2017 / 18:47

Tags