Abrindo a Unidade III: o que é, de fato, um processo — e como enxergar, ao vivo, o que está rodando (ou preso) numa máquina Linux.
Máquina estendida, gerenciador de recursos, arquiteturas, chamadas de sistema — o mapa geral de como um SO é organizado.
Imagem, container, Dockerfile — vocês já constroem e rodam containers próprios.
Agora a gente entra na Unidade III: processos. É aqui que "gerenciador de recursos" — a segunda lente do Encontro 1 — ganha nome, número e comando de diagnóstico.
E se uma das duas travar — por que a outra continua funcionando normalmente?
Um binário, instruções guardadas. Não faz nada sozinho — só existe fisicamente, esperando ser executado.
Tem um número (PID), uma posição de memória, um contador de instruções, e um lugar na fila da CPU. Dois processos podem vir do mesmo programa e serem completamente independentes.
É por isso que dois navegadores abertos não derrubam um o outro: são processos diferentes, ainda que rodem o mesmo programa.
Guardem "PID" — é a chave que vocês vão usar em praticamente todo comando de diagnóstico a partir de hoje.
Um processo nunca está "rodando" o tempo inteiro. Ele alterna entre três estados, e é o SO quem decide quando cada transição acontece.
Um processo nunca pula direto de bloqueado pra rodando — ele sempre passa por pronto primeiro, esperando sua vez na fila.
Um processo só existe porque outro processo pediu pra criá-lo, através da chamada de sistema fork (relembrando o Encontro 3). Isso forma uma árvore genealógica inteira.
Cada processo guarda o PPID (PID do pai) — é assim que o comando pstree desenha essa árvore inteira na tela.
ps: uma fotografia de tudo que está rodando agoraps aux lista todos os processos do sistema num instante — cada coluna revela uma parte da anatomia que vimos no slide 4.
| Coluna | O que revela |
|---|---|
| USER | Quem é dono do processo |
| PID | O número único do processo |
| %CPU / %MEM | Quanto de CPU/memória ele está consumindo agora |
| STAT | O estado (R=rodando, S=dormindo/bloqueado, Z=zumbi) |
| COMMAND | O comando que originou o processo |
top: se ps é foto, top é vídeoEm vez de uma fotografia parada, top atualiza a lista de processos ao vivo, ordenada por quem está consumindo mais CPU agora.
ps — mas atualizando a cada segundo, sem você precisar rodar o comando de novo.q sai do top — o comando "trava" a tela até você mandar sair./procLembram do Encontro 2? Cada processo rodando tem sua própria pasta dentro de /proc, nomeada com o próprio PID — e ps/top são, por baixo, só leitores organizados dessas pastas.
| Arquivo | O que revela |
|---|---|
| /proc/<pid>/status | Nome, estado, PPID, uso de memória — em texto legível |
| /proc/<pid>/cmdline | O comando exato (com argumentos) que criou o processo |
| /proc/<pid>/exe | Link pro binário executável que originou o processo |
Lembram que container compartilha o núcleo do host (Encontro 4)? Pois bem: o namespace de PID do Linux faz um processo dentro de um container se enxergar como PID 1 — mesmo tendo um PID bem diferente visto de fora.
Um ps aux no host mostra o processo do container com um PID qualquer, como 48213 — igual a qualquer outro processo do sistema.
Um ps aux rodado dentro do mesmo container mostra o processo como PID 1 — o container tem seu próprio namespace de números de PID.
Isso é namespaces na prática — a mesma peça técnica que faz o container "achar" que está sozinho na máquina, mencionada de leve no Encontro 4.
ps comum ao PID duplo do containerUma sequência real: localizar um processo, subir um container em segundo plano, e comparar o PID de dentro e de fora.
Cada uma dessas linhas vira um passo do roteiro de laboratório de hoje.
ps, top e /proc/<pid>Localizar processos, ler colunas, comparar a "foto" do ps com o "vídeo" do top.
Subir um container em segundo plano e comparar o mesmo processo visto do host e visto de dentro.
O roteiro de laboratório detalha os passos, com dicas se algo travar. Todas as observações vão pro instrumento semanal (quiz) no fim.
A base teórica de hoje, com os mesmos arquivos de /proc que vimos no slide 9. p. 99–106
Modelo de processo, criação, término, hierarquia e os três estados — a teoria por trás do ps e do top. p. 59–67
Pra quem quer se aprofundar além do que cai no quiz. p. 132–150
O quiz da semana verifica essa leitura e recolhe suas observações da prática — tudo no mesmo instrumento.