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.
Conteúdo
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, top, htop e 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.
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 u 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 x 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.
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.
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
O 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.
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:
Tecla | Função |
k | Elimina um processo |
M | Classifica a lista por uso de memória. |
N | Classifica a lista por PID. |
r | Altera a prioridade de um processo. |
h | Exibe a janela de ajuda. |
z | Exibe os processos em execução em cores. |
d | Altera o intervalo de tempo de atualização. |
c | Exibe o caminho absoluto de um processo. |
CTRL+C ou q | Interrompe 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
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:
Tecla | Função |
F9 | Encerra um processo. |
F8 | Aumenta a prioridade de um processo. |
F7 | Diminui a prioridade de um processo. |
F6 | Classifica os processos por qualquer coluna. |
F5 | Exibe processos em uma visualização em árvore. |
F4 | Filtra os processos por nome. |
F3 | Pesquisa um processo. |
F2 | Abre a configuração do htop. |
F1 | Exibe 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.
Aqui está a lista de argumentos disponíveis e suas descrições:
Comando | Descrição |
man atop | Exibe a página do manual do comando atop. |
atop -l | Exibe os valores totais médios por segundo. |
atop -a | Exibe os processos ativos durante os últimos intervalos. |
atop -c | Exibe a linha de comando por processo. |
atop -m | Exibe as informações relacionadas à memória. |
atop -d | Exibe as informações relacionadas ao disco. |
atop -n | Exibe as informações da rede. |
atop -s | Exibe os detalhes do agendamento. |
atop -v | Exibe as informações variadas (por exemplo, PPID, usuário ou hora). |
atop -y | Exibe as linhas individuais. |
Quando o atop estiver em execução, pressione as teclas de atalho listadas abaixo para classificar os processos:
Tecla | Função |
a | Classifica em ordem os recursos mais ativos. |
c | Reverte para a classificação pelo consumo de CPU (padrão). |
d | Classifica em ordem de atividade do disco. |
m | Classifica em ordem de uso da memória. |
n | Classifica 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á usando, pois 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.
Conheça Mais Comandos do Linux
Gerenciando Usuários Sudo no Linux
Como Encerrar um Processo no Linux com o Comando Kill
Guia Para Testar a Conexão com o Comando Ping
Como Usar o Comando Dig para Pesquisa de DNS
Listando Serviços no Linux
Como Alterar as Senhas de Usuário no Linux
Tutorial Completo do Linux Screen
Como Usar o Comando SCP para Copiar e Transferir Arquivos no Linux