Os grupos de processos existem principalmente para determinar quais processos iniciam a partir de um terminal pode acessar esse terminal. Somente processos no grupo de processos em primeiro plano podem ler ou gravar em seu terminal de controle; Os processos em segundo plano são interrompidos por um sinal SIGTTIN ou SIGTTOU .
Você pode enviar um sinal atomicamente para todos os processos em um grupo de processos, passando um argumento PID negativo para kill
. Isso também acontece quando um sinal é gerado pelo driver do terminal em resposta a um caractere especial (por exemplo, SIGINT para Ctrl + C ).
As sessões rastreiam quais grupos de processos estão anexados a um terminal. Somente processos em execução na mesma sessão que o processo de controle são os processos de primeiro plano ou plano de fundo.
Não é possível determinar grupos de processos ou sessões do PPID. Você não teria como saber se o pai de um processo está no mesmo grupo de processos ou diferente, e também nas sessões.