25.7. Lista de processos: ps

O comando ps gera uma lista de processos. Se o parâmetro r for adicionado, apenas os processos que estiverem usando tempo de computação serão mostrados:

$ ps r 
PID TTY      STAT   TIME COMMAND
22163 pts/7    R      0:01 -zsh 
 3396 pts/3    R      0:03 emacs new-makedoc.txt
20027 pts/7    R      0:25 emacs xml/common/utilities.xml
20974 pts/7    R      0:01 emacs jj.xml
27454 pts/7    R      0:00 ps r

Esse parâmetro deve ser escrito sem o sinal de subtração. Os vários parâmetros são escritos algumas vezes com e outras vezes sem o sinal de subtração. A página de manual pode facilmente afastar usuários potenciais, mas felizmente o comando ps --help produz uma página breve de ajuda.

Para verificar quantos processos emacs estão em execução, use:

$ ps x | grep emacs 
1288 ?        S      0:07 emacs 
3396 pts/3    S      0:04 emacs new-makedoc.txt 
3475 ?        S      0:03 emacs .Xresources
20027 pts/7   S     0:40 emacs xml/common/utilities.xml
20974 pts/7   S     0:02 emacs jj.xml

$ pidof emacs
20974 20027 3475 3396 1288

O parâmetro -p seleciona processos por meio do ID do processo:

$ ps www -p $(pidof xterm)
PID TTY      STAT   TIME COMMAND 
9025 ?        S      0:01 xterm -g 100x45+0+200 
9176 ?        S      0:00 xterm -g 100x45+0+200
29854 ?        S      0:21 xterm -g 100x75+20+0 -fn \ 
-B&H-LucidaTypewriter-Medium-R-Normal-Sans-12-120-75-75-M-70-iso10646-1 
4378 ?        S      0:01 xterm -bg MistyRose1 -T root -n root -e su -l
25543 ?        S      0:02 xterm -g 100x45+0+200
22161 ?        R      0:14 xterm -g 100x45+0+200
16832 ?        S      0:01 xterm -bg MistyRose1 -T root -n root -e su -l
16912 ?        S      0:00 xterm -g 100x45+0+200
17861 ?        S      0:00 xterm -bg DarkSeaGreen1 -g 120x45+40+300
19930 ?        S      0:13 xterm -bg LightCyan
21686 ?        S      0:04 xterm -g 100x45+0+200 -fn \
lucidasanstypewriter-12
23104 ?        S      0:00 xterm -g 100x45+0+200
26547 ?        S      0:00 xterm -g 100x45+0+200

A lista de processos pode ser formatada de acordo com suas necessidades. A opção -L retorna uma lista com todas as palavras-chave. Digite o comando a seguir para gerar uma lista de todos os processos classificados conforme o uso de memória:

$ ps ax --format pid,rss,cmd --sort rss 
PID  RSS CMD 
2    0 [ksoftirqd/0] 
3    0 [events/0] 
17    0 [kblockd/0]
[...]
10164 5260 xterm
31110 5300 xterm
17010 5356 xterm 
3896 29292 /usr/X11R6/bin/X -nolisten tcp -br vt7 -auth /var/lib/xdm/authdir/au