Um processo é a execução de um programa, é iniciado sempre que se abre um aplicativo ou se executa um comando pelo terminal de linha de comando.
Cada processo do Linux recebe um PID (process id, ou número de identificação do processo) exclusivo.
Todo servidor possui processos em execução o tempo todo, e saber monitorá-los e encerrá-los é uma habilidade importante para qualquer administrador.
Existem algumas maneiras de listar todos os processos em execução em um servidor Linux
Confira abaixo como:
Monitorar processos
Existem várias formas de monitorar e listar processos em um servidor, e as mais comuns são os comandos top e ps.
O comando ps exibe uma lista estática dos processos ativos quando é executado.
Enquanto o comando top classifica os processos por uso da CPU
Ambos os comandos fornecem informações como o ID do processo (PID), recursos utilizados, estado do processo, o nome do programa, a hierarquia dos processos, o usuário responsável e os argumentos usados para executar os programas.
São ferramentas úteis para monitorar o sistema, resolver problemas e identificar falhas de desempenho.
Confira como utilizar o:
Comando ps
Ao executar o comando ps, ele exibe uma lista básica dos processos em execução, com quatro colunas principais: PID (ID do processo), TTY (terminal associado), TIME (tempo de execução) e CMD (comando que iniciou o processo).
Confira como fazer:
1Acesse o WHM - Se necessário, veja como fazer
2Na barra de busca, procure por Terminal e clique sobre a opção encontrada
3Confira as principais utilizações do comando ps:
- Para obter informações mais detalhadas sobre seus processos em execução, digite o comando:
ps aux
- Se deseja exibir detalhes específicos do processo com PID (ID do processo):
ps -p <PID>
Substitua <PID> pelo número do PID do processo desejado
- Listar os processos do Linux em uma exibição hierárquica:
ps -axjf
- Listar todos os processos em execução em formato de árvore:
ps axf
- Listar os processos em execução, incluindo o uso de CPU e memória:
ps aux --sort=-%cpu,%mem
- Exibir todos os processos do usuário atual:
ps -u <usuário>
Substitua <usuário> pelo nome do usuário
- Listar apenas os nomes dos processos em execução:
ps -eo comm
- Exibir informações sobre os processos, incluindo o tempo de execução:
ps -e -o pid,ppid,cmd,%cpu,%mem,etimes
Comando top
O comando top é usado para identificar processos que estão consumindo muitos recursos. Ele lista os processos em ordem de uso da CPU, mostrando os que mais consomem no topo. Também é útil para verificar se um processo específico está ativo.
Confira como fazer:
1Acesse o WHM - Se necessário, veja como fazer
2Na barra de busca, procure por Terminal e clique sobre a opção encontrada
3Em seguida, insira o seguinte comando:
top
4A tela do top exibe informações detalhadas sobre os processos do servidor. Confira em detalhes do que cada seção mostra:
A) Primeira linha: informa o Uptime e carga da CPU
-
Horário atual (up): Exibe a hora atual no servidor
-
Tempo de atividade (days): Mostra quanto tempo o servidor está ligado
-
Usuários conectados (user): Número de usuários conectados no momento
-
Load average: Indica o consumo médio da CPU:
-
Último minuto, últimos 5 minutos e últimos 15 minutos
-
Um valor de 1.00 significa 100% de uso de uma CPU
-
B) Segunda linha: Informações sobre tarefas (tasks)
-
Total: Número total de processos
-
Running: Processos em execução
-
Sleeping: Processos aguardando recursos
-
Stopped: Processos sendo finalizados
-
Zombie: Processos que aguardam o encerramento completo. Geralmente processos do tipo zombie representam um processo finalizado abruptamente. Alguns podem ocorrer ocasionalmente, mas devem ser evitados
C) Terceira linha: Uso da CPU
-
us: Tempo gasto em processos de usuários
-
sy: Tempo gasto pelo kernel
-
ni: porcentagem de tempo gasto executando tarefas cujo nice foi configurado manualmente. (nice representa a prioridade de um processo, veremos mais a frente)
-
id: Tempo inativo
-
wa: Tempo de espera por I/O (entrada e saída)
-
hi: Tempo gasto com interrupções de hardware
-
si: Tempo gasto com interrupções de software
-
st: Tempo da CPU virtual esperando acesso à CPU física
D) Quarta linha: informa a Memória
Sendo MiB Mem referente a memória física utilizada, com o valor baseado na memória RAM instalada no sistema:
-
Total: Quantidade total de RAM do servidor
-
Free: Memória disponível
-
Used: Memória em uso
-
Buff/cache: Memória usada para cache ou dados temporários
E) Quinta linha: informa a Memória
Informações da memória swap utilizada pelo servidor. Essa memória é utilizada pela RAM em situações que é mais rápido armazenar dados nela do que na memória física do sistema.
-
Total: Quantidade total de swap do servidor
-
Free: Swap disponível
-
Used: Swap em uso
-
Buff/cache: Dados temporários no swap
Por fim, o top traz informações a respeito dos processos que estão rodando em tempo real no servidor numa tabela. Confira abaixo o que significa cada coluna do top:
-
A) PID: ID do processo
-
B) USER: Usuário que iniciou o processo.
-
C) PR e NI: Prioridade e valor de nice do processo.
-
D) VIRT, RES e SHR: Memória virtual, física e compartilhada usada pelo processo.
-
E) S: Status do processo (em execução, dormindo etc.).
-
F) %CPU: porcentagem de tempo dedicada da CPU para execução do processo
-
G) %MEM: porcentagem de memória da CPU utilizada para execução do processo.
-
H) TIME+: Tempo total de execução da CPU em centésimo de segundo.
-
I) COMMAND: Nome do processo ou comando.
Além disso, existem alguns comandos dentro do top que podem ser executados:
-
M: Ordena em ordem decrescente os processos pelo uso de memória (%MEM)
-
P: Ordena processos em ordem decrescente pelo uso da CPU (%CPU)
-
u: Filtra processos de um usuário específico
-
q: Sai da interface do top
-
c: Exibe o caminho absoluto de um processo
-
d: Altera o intervalo de tempo de atualização
Para mais detalhes, consulte o manual de utilização do top
Encerrar processos
Para encerrar (eliminar) um processo utilizamos o comando kill
Este comando é útil para interromper:
-
Processos automatizados
-
Processo que foi iniciado por acidente
-
Processo que está utilizando muita memória
-
Processo em execução
Para ver o manual de utilização do kill, execute o seguinte comando:
man kill
1Antes de executar o comando para encerrar o processo, é necessário saber:
-
A) PID - Para mostrá-lo execute o comando:
ps
-
B) Número do sinal - O Linux oferece vários sinais para interromper, encerrar ou pausar processos. Você pode visualizar todos os sinais disponíveis usando o comando:
kill -l
Isso exibirá uma lista com os sinais e seus respectivos números.
Embora existam muitos, os mais usados são:
-
SIGKILL (9): Força o encerramento imediato do processo. Deve ser usado com cuidado, pois pode causar problemas no servidor se utilizado de forma inadequada.
-
SIGTERM (15): Solicita o encerramento do processo de forma segura, permitindo que ele finalize suas tarefas.
2Depois de saber essas informações, para encerrar um processo com o kill utilize a seguinte sintaxe:
$ kill -[número do sinal] [PID do processo]
Substitua [número do sinal] e [PID do processo] pelos números desejados, por exemplo kill -9 63772
Caso deseje encerrar vários processos, a sintaxe fica:
kill [número do sinal] PID1 PID2 PID3
Por exemplo:
kill -9 63772 45116 23465