1. Mais Sobre os Processos

É possível monitorar os processos. Faze-los terminar, pausar, continuar, etc. Para entender os exemplos que vamos examinar, será útil conhecer um pouco mais sobre eles.

1.1. A Árvore de Processo

Assim como os arquivos, todos os processos que estão sendo executados em um sistema GNU/Linux estão organizados em forma de árvore. A raiz desta árvore é o init, um processo do sistema que é inicializado durante o boot. O sistema atribui um número (PID, Process ID) a cada processo para poder identificá-los. eles também herdam o PID dos seus processos pais (PPID, Parent Process ID). O init é o seu próprio pai: o PID e o PPID do init é 1.

1.2. Sinais

Todo processo no UNIX® pode reagir a sinais enviados para ele. Há 64 sinais diferentes que são identificados por seus números (iniciando em 1) ou pelo seus nomes simbólicos (SIGx, onde x é o nome do sinal). Os 32 sinais “mais altos” (33 a 64) são sinais de tempo real e estão fora do escopo deste capítulo. Para cada um destes sinais, o processo pode definir o seu comportamento, exceto para dois deles: o sinal de número 9 (KILL) e número 19 (STOP).

O sinal 9 termina um processo de maneira irrevogável, sem dar a ele um tempo para terminar de maneira apropriada. Este é o sinal que você vai enviar para um processo que está travado ou que apresenta outros tipos de problemas. Uma lista completa de sinais pode ser visualizada como comando kill -l.