Gerenciamento de processos do sistema: ps
, top
, htop
1. Comando ps
— uma visão estática dos processos
Se o Linux fosse um restaurante, o processo seria o chef na cozinha. É uma instância executável de um programa, que existe na memória. Quando você executa um aplicativo ou um arquivo pela linha de comando, é criado um processo, que então executa suas tarefas até terminar.
Do ponto de vista da programação, os processos são gerenciados pelo kernel do Linux, e cada um deles possui um identificador único — PID (Process ID).
O comando ps
(process status) é um comando básico para visualizar a lista de processos. Ele fornece um instantâneo estático dos processos atuais no sistema. Usando ps
, você pode obter informações sobre processos em execução: seus IDs, proprietário, linha de comando e recursos utilizados.
Sintaxe Básica
É assim que o comando básico se parece:
ps
Isso mostrará os processos em execução no terminal atual.
Mas isso é muito sem graça! Vamos adicionar um pouco de tempero:
ps aux
Aqui:
a
— mostra processos de outros usuários.u
— adiciona um formato mais legível.x
— inclui processos que não estão ligados ao terminal.
Exemplo de saída:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 22556 1044 ? Ss 12:34 0:01 /sbin/init
student 2345 0.1 0.2 34567 2048 pts/0 S+ 12:35 0:02 bash
student 4567 0.3 0.5 56789 5144 pts/0 R+ 12:36 0:03 ps aux
- USER: o usuário que iniciou o processo.
- PID: identificador do processo.
- %CPU: porcentagem de uso do CPU.
- %MEM: porcentagem de uso da memória.
- COMMAND: comando que iniciou o processo.
Opções Avançadas
Ver a estrutura hierárquica dos processos:
ps -ejH
Isso ajuda a entender quais processos são "filhos" de outros processos.
Filtrar por PID:
ps -p 1234
Onde
1234
é o seu PID. Exibe apenas o processo especificado.Exibir todos os processos junto com o comando completo:
ps -ef
2. Comando top
— monitoramento dinâmico de processos
top
é tipo uma TV pros processos. Dá pra ver em tempo real como os processos estão mudando. Se você tá rodando um servidor ou seu computador começou a "travar", top
vai ser seu melhor amigo. Com ele, você descobre quais processos estão consumindo mais CPU e memória.
Noções básicas de uso
É só digitar no terminal:
top
Exemplo de saída:
- A linha de cima mostra a "carga" do sistema.
- A parte do meio fala das tarefas (total, ativas, dormindo, zumbi).
- A parte de baixo é sobre a memória.
- O bloco inferior é uma lista de processos, com várias infos úteis, como PID, USER, %CPU e COMMAND.
Navegação no top
- Pressione
k
pra finalizar um processo. Digite o PID. - Pressione
P
pra ordenar os processos pelo uso de CPU. - Pressione
M
pra ordenar pelo uso de memória. - Pressione
q
pra sair.
3. Utilitário htop
— interface confortável
Se o top
parece muito "cru" pra você, seja bem-vindo ao htop
. É uma interface visual para monitoramento de processos. Ele é colorido, suporta uso de mouse e é amigável de entender.
Instalação
Se o htop
não estiver instalado, adicione ele:
sudo apt-get install htop # Para distribuições baseadas em Debian
sudo yum install htop # Para distribuições baseadas em RedHat
Iniciar
Para iniciar o htop
, basta digitar:
htop
Exemplo de interface:
Vantagens do htop
:
- Possibilidade de rolar a lista de processos.
- Destaque de cores para CPU, memória e swap.
- Teclas práticas para encerrar processos (por exemplo,
F9
).
4. Tarefa prática
Tarefa 1: Encontre o processo mais "guloso"
- Abra o
top
ouhtop
. - Ordene os processos por CPU e descubra o PID dele.
Tarefa 2: Finalize o processo
- Use
kill
para "matar" o processo:kill <PID>
Tarefa 3: Análise do processo
- Use
ps
para analisar o PID do processo:ps -p <PID> -o pid,user,%cpu,%mem,cmd
Perigos e recomendações
- Não mate processos se não tiver certeza de que eles não são críticos para o funcionamento do sistema. Por exemplo, o processo com PID 1 é o init, a base do SO.
- A ferramenta
htop
precisa ser instalada separadamente, caso não esteja disponível. Se o comando não funcionar, verifique a instalação. - Preste atenção nas permissões. Finalizar processos iniciados por outro usuário pode exigir direitos de administrador.
Na prática, você verá que essas ferramentas tornam o trabalho com Linux incrivelmente flexível e intuitivo. Agora você é o chefe dos processos!
GO TO FULL VERSION