Como Gerenciar e Listar Processos no Linux Usando os Comandos ps, top, htop e atop

Qualquer processo em execução no seu servidor Linux consome parte dos seus recursos. Se você tiver um servidor de altíssima capacidade, pode ser que isso não seja um problema. Entretanto, em servidores mais limitados, processos excessivos rodando ao mesmo tempo podem causar alguns problemas de desempenho.

Felizmente, existem algumas maneiras de listar todos os processos em execução em um servidor Linux (seja ele local ou uma VPS Linux Brasil), bem como formas de gerenciá-los facilmente. Neste artigo, falaremos de quatro comandos Linux para gerenciar e listar processos no sistema operacional.

O Que São Processos no Linux

Simplesmente falando, um processo é a execução de um programa. Um processo é iniciado sempre que se abre um aplicativo ou se executa um comando pelo terminal de linha de comando. 

Tenha em mente, entretanto, que um aplicativo pode executar vários processos para diferentes tarefas. Por exemplo, o Google Chrome iniciará um processo diferente sempre que uma nova guia for aberta.

Um processo pode ser iniciado em primeiro plano ou em segundo plano. Cada processo do Linux recebe um PID (process id, ou número de identificação do processo) exclusivo.

Ocasionalmente, alguns processos podem consumir muitos recursos e precisam ser eliminados. Em outras ocasiões, talvez você precise alterar o nível de prioridade de um processo, para que o sistema aloque mais recursos a ele. Independentemente do caso, todas essas tarefas exigem que você faça a mesma coisa: listar os processos em execução no Linux.

Como Listar os Processos em Execução no Linux

Para listar processos no Linux, use um desses quatro comandos: ps, tophtop atop. O comando ps fornece um snapshot estático de todos os processos, enquanto o top e o htop classificam os processos por uso da CPU.

Vamos nos aprofundar em cada um dos comandos logo abaixo.

Como Listar os Processos no Linux Usando o Comando ps

O comando ps (status do processo) produz um snapshot de todos os processos em execução. Portanto, ao contrário do gerenciador de tarefas do Windows, os resultados aqui são estáticos.

listar processos linux com comando ps

Quando esse comando é usado sem nenhum argumento ou opção adicional, ele retorna uma lista de processos em execução com quatro colunas cruciais: o PID, o nome do terminal (TTY), o tempo de execução (TIME) e o nome do comando que inicia o processo (CMD). Você pode usar o ps aux para obter informações mais detalhadas sobre seus processos em execução. Aqui está um detalhamento de cada argumento:

  • A opção a gera todos os processos em execução de todos os usuários do sistema.
  • A opção fornece informações adicionais, como a porcentagem de uso da memória e da CPU, o código de estado do processo e o proprietário dos processos.
  • A opção lista todos os processos não executados no terminal. Um exemplo disso são os daemons, que são processos relacionados ao sistema que são executados em segundo plano quando o sistema é inicializado.
comando ps-aux exibindo processos em execução no linux

Se você quiser listar os processos do Linux em uma exibição hierárquica, use o comando ps -axjf. Nesse formato, o shell colocará os processos filhos sob seus processos pais. 

exemplo do comando ps-axjf no linux

Além dessas duas opções, aqui estão algumas outras variações do comando ps que listam os processos em execução no Linux:

  • ps -u [nome de usuário] lista todos os processos em execução de um determinado usuário.
  • ps -e ou ps -A exibe os processos ativos do Linux no formato genérico do UNIX.
  • ps -T lista os processos ativos que são executados no terminal.
  • Ps -C nome_do_processo filtrará a lista pelo nome do processo. Além disso, esse comando também mostra todos os processos filhos do processo especificado.

Como Listar Processo no Linux Com o Comando top

comando top é usado para descobrir processos que consomem muitos recursos. Esse comando do Linux lista os processos por uso da CPU, de modo que o processo que consome mais recursos será exibido no topo. Ele também é útil para verificar se um processo específico está em execução.

comando top exibindo processos em execução do linux

Ao contrário do comando ps, a saída do comando top é atualizada periodicamente. Isso significa que você verá atualizações em tempo real do uso da CPU e do tempo de execução. Quando o shell retornar a lista, você poderá pressionar as seguintes teclas para interagir com ela:

TeclaFunção
kElimina um processo
MClassifica a lista por uso de memória.
NClassifica a lista por PID.
rAltera a prioridade de um processo.
hExibe a janela de ajuda.
zExibe os processos em execução em cores.
dAltera o intervalo de tempo de atualização.
cExibe o caminho absoluto de um processo.
CTRL+C ou qInterrompe o comando top.

Lembre-se de que as teclas acima diferenciam maiúsculas de minúsculas, portanto, certifique-se de verificar se o caps lock está ativado.

Como Listar Processos no Linux Com o Comando htop

Os comandos top e htop exibem as mesmas informações ao listar os processos do Linux, mas o segundo oferece mais recursos úteis para o gerenciamento diário de processos.

O comando htop permite que você role vertical e horizontalmente. Dessa forma, você pode ver a lista completa dos processos do Linux, juntamente com as linhas de comando completas.

Além disso, o htop permite usar o mouse para selecionar itens, eliminar processos sem inserir seus PIDs, alterar a prioridade de vários processos facilmente e assim por diante.

Tenha em mente, entretanto, que a maioria das distribuições Linux não possui esse comando instalado nativamente. Por isso, talvez você precise instalá-lo manualmente.

Se você usa o Ubuntu, pode instalar o htop executando o seguinte comando:

sudo apt-get install htop
exemplo do comando top no linux

Uma vez instalado, digite htop e você obterá uma lista de todos os processos do Linux. Assim como o comando anterior, o htop também tem vários atalhos de teclado:

TeclaFunção
F9Encerra um processo.
F8Aumenta a prioridade de um processo.
F7Diminui a prioridade de um processo.
F6Classifica os processos por qualquer coluna.
F5Exibe processos em uma visualização em árvore.
F4Filtra os processos por nome.
F3Pesquisa um processo.
F2Abre a configuração do htop.
F1Exibe o menu de ajuda.

Listar Processos Linux Com o Comando atop

O comando atop é uma ferramenta para monitorar os recursos do sistema no Linux. Trata-se de um utilitário de desempenho em tela cheia ASCII que registra e relata a atividade de todos os processos do servidor.

Uma vez iniciado, o atop mostrará o uso de recursos da CPU, memória, swap, discos e rede em intervalos de 10 segundos. O atop permanecerá ativo em segundo plano para análise do servidor a longo prazo (até 28 dias por padrão).

Algumas das vantagens do atop incluem:

  • Reúne o uso de recursos para todos os processos e usuários com o mesmo nome.
  • Destaca recursos críticos em cores (vermelho).
  • Mostra o uso de recursos de todos os processos, incluindo aqueles que foram concluídos ou fechados.
  • Monitora threads dentro dos processos (exceto os não utilizados).
  • Usa o kernel mobile netatop para monitorar TCP, UDP e a largura de banda da rede.

Você pode instalar o comando atop executando um dos seguintes comandos:

Ubuntu / Debian

sudo apt install atop

CentOS / RHEL / Fedora

sudo dnf install atop

Depois de instalado, execute o comando atop para ver o uso dos recursos do sistema capturado por todos os processos.

exemplo de resultado do comando atop para listar processos linux

Aqui está a lista de argumentos disponíveis e suas descrições:

ComandoDescrição
man atopExibe a página do manual do comando atop.
atop -lExibe os valores totais médios por segundo.
atop -aExibe os processos ativos durante os últimos intervalos.
atop -cExibe a linha de comando por processo.
atop -mExibe as informações relacionadas à memória.
atop -dExibe as informações relacionadas ao disco.
atop -nExibe as informações da rede.
atop -sExibe os detalhes do agendamento.
atop -vExibe as informações variadas (por exemplo, PPID, usuário ou hora).
atop -yExibe as linhas individuais.

Quando o atop estiver em execução, pressione as teclas de atalho listadas abaixo para classificar os processos:

TeclaFunção
aClassifica em ordem os recursos mais ativos.
cReverte para a classificação pelo consumo de CPU (padrão).
dClassifica em ordem de atividade do disco.
mClassifica em ordem de uso da memória.
nClassifica em ordem de atividade de rede.

Conclusão

Saber como listar e gerenciar processos em execução no Linux é fundamental para gerenciar seu servidor. Usar o comando certo também é importante para ajudar você a realizar esse trabalho.

Tenha em mente também qual distribuição do Linux você está usandopois talvez seja necessário usar comandos diferentes para instalar o htop e o atop.

Qual dos quatro comandos você prefere? Compartilhe sua opinião na seção de comentários abaixo.

Author
O autor

Bruno Santana

Jornalista formado pela Universidade Federal da Bahia, além de colaborador eventual do site MacMagazine e da editoria de cultura do Jornal A Tarde, de Salvador. Fascinado por tecnologia desde criança, criei meu primeiro blog no Wordpress aos 13 anos e nunca mais parei. Nas horas vagas, gosto de ir ao cinema e fazer experimentos na cozinha.