ps
O comando
ps mostra os processos que estão sendo executados no sistema. Vejamos algumas opções:
- a - Mostra todos os processos criados.
- x - Mostra os processos que não são controlados pelo terminal.
- u - Mostra o nome do usuário e a hora que o processo foi iniciado.
- --help - Mostra a ajuda do comando ps (utilize também man ps)
# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.4 1320 528 ? S 11:34 0:04 init
root 2 0.0 0.0 0 0 ? SW 11:34 0:00 [keventd]
root 3 0.0 0.0 0 0 ? SW 11:34 0:00 [kapmd]
root 4 0.0 0.0 0 0 ? SWN 11:34 0:00 [ksoftirqd_CPU0]
root 5 0.0 0.0 0 0 ? SW 11:34 0:00 [kswapd]
root 6 0.0 0.0 0 0 ? SW 11:34 0:00 [bdflush]
root 7 0.0 0.0 0 0 ? SW 11:34 0:00 [kupdated]
root 8 0.0 0.0 0 0 ? SW< 11:34 0:00 [mdrecoveryd]
root 12 0.0 0.0 0 0 ? SW 11:34 0:00 [kjournald]
bin 647 0.0 0.3 1412 448 ? S 11:35 0:00 portmap
root 667 0.0 0.5 1384 608 ? S 11:35 0:00 syslogd -m 0
root 679 0.0 0.9 1916 1124 ? S 11:35 0:00 klogd
daemo 767 0.0 0.4 1368 564 ? S 11:35 0:00 /usr/sbin/atd
root 787 0.0 0.5 1552 696 ? S 11:35 0:00 crond
A saída do comando
ps é uma tabela onde cada coluna fornece uma informação:
- USER - Nome do usuário dono do processo.
- UID - Número de identificação do usuário dono do processo.
- PID - Número de identificação do processo.
- PPID - Número de identificação do processo pai de cada tarefa.
- PRI - Número de prioridade da tarefa. (Números altos são prioridades baixas).
- NI - Valor preciso da prioridade da tarefa.
- %CPU - O consumo de processamento do processo.
- %MEM - O consumo de memória do processo.
- SIZE - Tamanho do código da tarefa em kilobytes.
- RSS - Soma total da memória física usada pelo processo, em kilobytes.
- WCHAN - Endereço ou nome da função do kernel da tarefa que está atualmente suspensa.
- STAT - Estado do processo: S - Suspenso, R - em Execução, T - Interrompido, Z - Terminado, etc.
- TTY - Terminal onde são executados os processos.
- TIME - Tempo total da CPU usado pelo processo desde que foi iniciado.
- COMMAND - Nome do comando do processo.
Suponhamos que eu não quero listar todos os processos, apenas quero saber informações de um processo específico. Veja o exemplo:
# ps aux | grep cron
root 347 0.0 0.3 1652 680 ? S 09:00 0:00 /usr/sbin/cron
Note que listamos apenas as informações do processo usado pelo cron. Essa concatenação de comandos é bem útil, pois facilita a gerência dos processos.
pstree
O comando
pstree é usado para visualizar a árvore de processos.
# pstree
init-+-alarmd
|-apache---5*[apache]
|-atd
|-cron
|-6*[getty]
|-i2oevtd
|-inetd
top
O comando
top é usado como um monitor do sistema que mostra a atividade do processador em tempo real. Exibindo as tarefas que estão sendo executadas na CPU e fornecendo uma interface amigável para o gerenciamento de processos.
# top
10:10:45 up 1:13, 1 user, load average: 0.10, 0.22, 0.23
86 processes: 85 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 1.9% user, 1.9% system, 0.0% nice, 96.2% idle
Mem: 182408K total, 177064K used, 5344K free, 45564K buffers
Swap: 96764K total, 7368K used, 89396K free, 36228K cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
10533 root 19 0 980 980 760 R 2.5 0.5 0:01 top
628 root 10 0 7888 7428 6492 S 0.6 4.0 0:02 kdeinit
375 root 6 -10 40284 31M 3464 S < 0.3 17.4 1:49 XFree86
1 root 9 0 476 436 416 S 0.0 0.2 0:03 init
2 root 9 0 0 0 0 SW 0.0 0.0 0:00 keventd
3 root 19 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU0
4 root 9 0 0 0 0 SW 0.0 0.0 0:04 kswapd
5 root 9 0 0 0 0 SW 0.0 0.0 0:00 bdflush
6 root 9 0 0 0 0 SW 0.0 0.0 0:00 kupdated
7 root 9 0 0 0 0 SW 0.0 0.0 0:00 i2oevtd
Veja algumas opções úteis do top:
- -d [tempo] - Atualiza a tela após o tempo especificado.
- -s - Executa o top em modo seguro
- -i - Executa o top ignorando processos zumbis.
- -c - Mostra a linha de comando ao invés do nome do programa.
Para obter mais ajuda, leia a man page do top (man top).
Podemos utilizar opções dentro do programa, em tempo real, enquanto ele está sendo executado:
- h - Lista os comandos que podem ser usados no top.
- espaço - Atualiza imediatamente a tela.
- i - Ignora processos ociosos.
- k - Mata um processo.
- N - Classifica os processos por número de PID.
- A - Classifica os processos por período.
- P - Classifica os processos por uso de CPU.
- M - Classifica os processos por uso de memória.
- T - Classifica os processos por tempo.
- u - Mostra os processos de um usuário específico.
- n ou # - Lista um número de processos.
- s - Específica o tempo em segundos para a atualização da tela.
- W - Cria um arquivo de configuração do top (~/.toprc).
- r - Aplica um renice no processo.
- q - Sai do top.