Gerenciamento de processos (ps, top, kill)
Aprenda a listar, monitorar e encerrar processos em execução no sistema, entendendo os identificadores e os estados dos processos.
Gerenciamento de processos (ps, top, kill) é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que são processos?
No Linux, um processo é uma instância de um programa em execução. Cada comando executado e cada aplicativo aberto é executado como um ou mais processos.
- Os processos são gerenciados pelo sistema operacional.
- Entendê-los é essencial para monitorar a integridade do sistema e solucionar problemas.
Listando processos com `ps`
O comando ps (status dos processos) é usado para exibir informações sobre os processos em execução no momento.
Por padrão, ele mostra os processos associados à sua sessão atual do terminal.
Informações detalhadas dos processos (`ps aux`)
Para ver todos os processos em execução no sistema, incluindo os iniciados por outros usuários ou por serviços do sistema, usamos opções como aux ou -ef.
ps aux: Mostra todos os processos, incluindo os que não estão associados a um terminal.ps -ef: Mostra todos os processos em um formato de listagem completo.
Experimente executar ps aux e direcioná-lo para head com um pipe para ver as primeiras linhas:
ps aux | head -n 5Entendendo a saída de `ps`
A saída de ps aux fornece várias colunas importantes:
- USER: O usuário proprietário do processo.
- PID: ID exclusivo do processo.
- %CPU: Porcentagem de uso da CPU.
- %MEM: Porcentagem de uso da memória.
- COMMAND: O comando que iniciou o processo.
O PID é especialmente importante para gerenciar processos.
Monitoramento em tempo real com `top`
Enquanto ps fornece uma fotografia momentânea, o comando top apresenta uma visão dinâmica e em tempo real dos processos em execução.
Ele é atualizado continuamente e mostra os processos que estão consumindo mais recursos.
Interpretando as métricas de `top`
Ao executar top, você verá um resumo na parte superior e uma lista de processos abaixo.
- Média de carga: Carga média do sistema ao longo de 1, 5 e 15 minutos.
- Tarefas: Total de processos, processos em execução, inativos, parados e zumbis.
- %Cpu(s): Utilização da CPU.
- Mem: Memória total, livre, usada e armazenada em buffers.
- Lista de processos: Colunas semelhantes às de
ps, mas constantemente ordenadas (por padrão, pela CPU).
Encontrando processos específicos
Você pode combinar ps com grep para filtrar processos específicos, como ao procurar todos os processos relacionados a 'bash'.
A parte grep -v grep ajuda a excluir o próprio comando grep dos resultados.
ps aux | grep -i "bash" | grep -v "grep"Encerrando processos com `kill`
Às vezes, um processo pode travar ou consumir recursos demais. O comando kill permite enviar sinais aos processos, normalmente para encerrá-los.
Você precisa do PID do processo que deseja encerrar.
Entendendo os sinais de `kill`
Ao usar kill, você envia um "sinal" a um processo. O sinal padrão é SIGTERM (15), que solicita que o processo seja encerrado de forma organizada.
kill PID: Envia SIGTERM.kill -9 PID: Envia SIGKILL. Esse é um encerramento forçado que o processo não pode ignorar. Use-o com cuidado!
Você pode listar todos os sinais disponíveis com kill -l:
kill -lExemplo prático de `kill`
Vamos praticar o encerramento de um processo simples em segundo plano. Iniciaremos um comando sleep em segundo plano, encontraremos seu PID e, em seguida, você poderá usar kill para interrompê-lo.
Execute o código abaixo. Depois que ele for executado, você verá o PID do processo sleep. Em seguida, no terminal, digite manualmente kill <PID> (substitua <PID> pelo número real) para interrompê-lo.
# Step 1: Start a dummy process in the background
sleep 300 &
echo "Sleep process started. Now finding its PID..."
# Step 2: Find its Process ID (PID)
# Look for the 'sleep' process in the output
ps aux | grep -i "sleep" | grep -v "grep"
# Step 3: To kill it, manually type 'kill <PID>'
# Example: kill 12345Verificação rápida: gerenciamento de processos
Você aprendeu a listar, monitorar e encerrar processos. Vamos testar seu entendimento.
Recapitulação: gerenciando processos
Ótimo trabalho! Nesta lição, você dominou comandos essenciais do Linux para o gerenciamento de processos:
ps: Para listar processos e obter uma visão momentânea do status deles.top: Para monitorar em tempo real e de forma dinâmica os processos do sistema e o uso de recursos.kill: Para enviar sinais aos processos, principalmente para encerrá-los de forma organizada (SIGTERM) ou forçada (SIGKILL).
Essas ferramentas são fundamentais para a administração do sistema e a solução de problemas.
Perguntas Frequentes
A aula “Gerenciamento de processos (ps, top, kill)” é grátis?
Sim — o texto completo de “Gerenciamento de processos (ps, top, kill)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Gerenciamento de processos (ps, top, kill)”?
Aprenda a listar, monitorar e encerrar processos em execução no sistema, entendendo os identificadores e os estados dos processos. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Gerenciamento de processos (ps, top, kill)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Gerenciamento de processos (ps, top, kill)
- Redirecionamento de entrada e saída (>, >>, <)
- Encadeamento de comandos (|)
- Tarefas em Segundo Plano e Controle de Tarefas