ps, top, kill, nice e systemctl — monitore e controle o que roda no seu servidor.
Um processo é um programa em execução. Enquanto o programa é um arquivo estático no disco, o processo é a instância viva na memória — com recursos alocados, PID próprio e estado definido.
📚 Analogia: o programa é a receita de bolo escrita no papel; o processo é o bolo sendo feito no forno — dinâmico, consome energia e ocupa espaço.
💡 Processos Zombie não devem preocupar em condições normais. São apenas registros de processos que terminaram aguardando o pai coletar o código de saída. O sistema os limpa automaticamente.
ps — Fotografando ProcessosO ps (process status) exibe uma fotografia instantânea dos processos. Ao contrário do top, não atualiza em tempo real — ideal para scripts e filtragens com grep.
ps auxtop e htop — Monitor em Tempo RealEnquanto o ps tira uma foto, o top exibe um vídeo ao vivo do sistema, atualizando a cada poucos segundos. Ferramenta padrão para diagnóstico imediato.
topP
Ordenar por CPU
M
Ordenar por memória
k
Matar processo (pede PID)
u
Filtrar por usuário
1
Ver cada CPU separado
q
Sair do top
💡 O htop é a versão melhorada: barras coloridas de CPU/memória, suporte a mouse e navegação mais intuitiva. Instale com apt install htop.
kill e killall — Sinais para ProcessosO kill não serve apenas para "matar" processos — ele envia sinais que instruem o processo a executar determinada ação. Matar é apenas um dos efeitos possíveis.
⚠️ SIGKILL (-9) não pode ser ignorado e encerra imediatamente sem salvar dados. Use sempre kill PID (SIGTERM) primeiro e recorra ao -9 só se o processo não responder.
nice e renice — Prioridade de ProcessosO Linux distribui o tempo de CPU conforme a prioridade de cada processo. O nice define a prioridade ao iniciar; o renice altera a de um processo já em execução.
⚠️ Apenas o root pode aumentar a prioridade (valores negativos de nice). Usuários comuns só podem diminuir a prioridade dos próprios processos (valores positivos).
systemctl — Gerenciando ServiçosServiços (ou daemons) são processos que rodam permanentemente em background: Apache, MySQL, SSH, Nginx etc. No Linux moderno, todos são gerenciados pelo systemd via systemctl.
journalctl — Logs CentralizadosO journalctl é a ferramenta para consultar os logs centralizados do systemd. Um único ponto de acesso com filtros poderosos — sem precisar procurar em vários arquivos de /var/log/.
💡 Combine journalctl -u nginx -f em uma aba com systemctl restart nginx em outra para ver os logs de reinicialização em tempo real — técnica essencial para diagnóstico.
Fluxo de diagnóstico quando o servidor está lento ou com carga alta.
Arraste cada descrição para o comando correto de processos e serviços.
ps aux | grep nginx
kill -9 1234
systemctl restart nginx
systemctl enable ssh
nice -n 10 ./script.sh
journalctl -u nginx -f
Qual é a diferença entre systemctl start e systemctl enable?
start/stop = efeito imediato, temporário. enable/disable = configuração de boot permanente. Para que um serviço inicie sempre: systemctl enable --now nginx (faz os dois de uma vez!).Por que é recomendado usar kill (SIGTERM) antes de kill -9 (SIGKILL)?
Um processo com nice -20 tem qual prioridade?
top para ver processos em tempo realtop. Pressione M para ordenar por memória e P para voltar a CPU. Tire screenshot com os 5 primeiros processos. Pressione q para sair.ps auxps aux e observe a saída. Em seguida ps aux | wc -l para contar quantos processos estão rodando. Anote o número.killsleep 300 & para criar um processo em background. Anote o PID exibido. Encerre com kill PID e confirme com ps aux | grep sleep.systemctlsudo systemctl status ssh, sudo systemctl restart ssh e novamente sudo systemctl status ssh. Verifique que o serviço reiniciou (PID mudou).journalctlsudo journalctl -u ssh -n 20 para ver as últimas 20 linhas do SSH. Você deve ver o registro do restart do passo anterior. Tire screenshot mostrando as entradas de log com o horário.nice com uma tarefa pesadanice -n 19 find / -name "*.log" 2>/dev/null. Em outro terminal, observe com top que o processo find tem prioridade baixa (coluna NI = 19). Encerre com Ctrl+C.ps, top, kill, systemctl e journalctl é o que separa um operador de um verdadeiro SysAdmin.