Como listar processos em execução no Bash com ps
Use ps no Bash para listar processos, interpretar PID e proprietário, inspecionar um processo e decidir quando a visão ao vivo do top é mais útil.
Iniciar lição interativaPara descobrir o que está em execução a partir de um terminal Bash, comece com ps. O comando sem opções mostra os processos ligados ao terminal atual. Use ps -ef quando precisar de uma lista mais ampla de todo o sistema e leia em conjunto o PID, o proprietário, o estado e o comando antes de agir sobre qualquer processo. A lição sobre listagem de processos permite praticar a leitura dessa saída sem afetar uma carga de trabalho real.
Comece pelo terminal atual
Primeiro execute o comando sem opções:
ps
Os títulos exatos variam conforme o sistema operacional, mas um resultado curto geralmente inclui:
- PID: o identificador de processo usado por ferramentas como kill.
- TTY: o terminal associado ao processo.
- TIME: o tempo de CPU consumido pelo processo.
- CMD ou COMMAND: o programa que foi iniciado.
Essa visão pequena é útil para confirmar um comando iniciado no mesmo terminal. Ela não é um inventário completo de tudo que está em execução no computador.
Liste os processos ligados a este terminal.
Liste processos de todo o sistema
Para obter um retrato mais completo, use:
ps -ef
Essa forma normalmente inclui o proprietário do processo, o PID, o PID do processo pai, dados de início e a linha de comando. Ela é mais fácil de salvar, pesquisar ou incluir em uma anotação de incidente do que uma tela que muda o tempo todo.
Você também encontrará ps aux na documentação do Linux. As duas formas vêm de estilos de opções diferentes e podem exibir colunas um pouco distintas. Ambas são muito usadas, mas scripts devem escolher um formato conhecido em vez de presumir que todos os sistemas semelhantes ao Unix geram saídas idênticas.
Quando precisar de campos específicos, solicite-os explicitamente:
ps -eo pid,ppid,user,stat,%cpu,%mem,command
Assim, o significado e a ordem das colunas ficam claros. Alguns nomes de campos e opções de ordenação diferem entre Linux e macOS; consulte man ps antes de usar um formato detalhado em um script portável.
Inspecione um PID antes de usá-lo
Se outra ferramenta informar o PID 123, examine esse processo diretamente:
ps -p 123 -o pid,ppid,user,stat,etime,command
Substitua 123 pelo PID atual que você observou. Confirme o proprietário e o comando completo, não apenas o número. Um PID pode ser reutilizado depois que um processo termina, então um identificador copiado de uma mensagem antiga talvez já pertença a outro programa.
Use top quando a pergunta muda ao longo do tempo
ps registra um instante. Use top quando precisar acompanhar a variação no uso de CPU ou memória:
top
Pressione q para sair do top. Uma visão ao vivo ajuda a identificar um processo que sobe repetidamente para o topo, enquanto ps é melhor para registrar um momento exato ou examinar um PID conhecido. Nenhuma dessas ferramentas informa automaticamente se é seguro encerrar um processo; essa decisão ainda depende do proprietário, do comando e da função dele.
Teste de conhecimentos
1 / 1Qual valor identifica o processo exato que você deseja inspecionar?
Depois de confirmar o processo certo, continue em como encerrar um processo com segurança. Para conhecer todas as opções e regras de saída do comando, consulte o manual de ps do procps-ng.
Referências
Estes links de documentação trazem detalhes confiáveis sobre os comandos usados neste artigo.
A seguir
Confirme o processo e o PID, envie SIGTERM primeiro, verifique o resultado e reserve SIGKILL para processos que não encerram normalmente.