CMD Master
Voltar ao blog
AtualizadoArnošt Havelka

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 interativa
Como listar processos em execução no Bash com ps

Para 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.

Experimente o comando

Liste os processos ligados a este terminal.

Montar o comando
ps
Terminal
~$ps
PID TTY TIME CMD 1234 pts/0 00:00:01 bash 2345 pts/0 00:00:00 ps 3456 pts/0 00:00:05 node 4567 pts/0 00:00:02 worker

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 / 1

Qual 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

Como encontrar e encerrar com segurança um processo travado no Bash

Confirme o processo e o PID, envie SIGTERM primeiro, verifique o resultado e reserve SIGKILL para processos que não encerram normalmente.