Importância dos estados do processo
Ao solucionar problemas de um sistema, é importante entender como o kernel se comunica com os processos e como os processos se comunicam entre si.
O sistema atribui um estado a cada novo processo. A coluna S do comando top
ou a coluna STAT do comando ps
exibem o estado de cada processo.
Em um sistema de CPU único, apenas um processo pode ser executado por vez. É possível ver vários processos com um estado de R. No entanto, nem todos os processos são executados consecutivamente; alguns deles estão em estado de espera.
[user@host ~]$ top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2259 root 20 0 270856 40316 8332 S 0.3 0.7 0:00.25 sssd_kcm
1 root 20 0 171820 16140 10356 S 0.0 0.3 0:01.62 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
...output omitted...
[user@host ~]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
...output omitted...
root 2 0.0 0.0 0 0 ? S 11:57 0:00 [kthreadd]
student 3448 0.0 0.2 266904 3836 pts/0 R+ 18:07 0:00 ps aux
...output omitted...
Use sinais para suspender, parar, retomar, encerrar ou interromper processos. Os processos podem capturar sinais do kernel, de outros processos e de outros usuários no mesmo sistema. Os sinais serão discutidos posteriormente neste capítulo.