29.6. Elenco dei processi: ps

Il comando ps ritorna un elenco dei processi. Con l'opzione r vengono indicati solo i processi realmente in esecuzione:


$ 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

L'opzione va aggiunta effettivamente senza il trattino (il segno meno). Tra le numerose ve ne sono alcune che vanno inserite senza ed altre che vanno inserite con il trattino. La pagina di manuale si addice bene a scoraggiare potenziali utenti. Per fortuna potete farvi indicare una breve pagina di assistenza con ps --help.

Verifichiamo quanti processi emacs sono in esecuzione:


$ 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

Con l'opzione -p vi processi vengono selezionati tramite l' ID del processo:



$ ps www -p $(pidof xterm)
  PID TTY      STAT   TIME COMMAND
 9176 ?        S      0:00 xterm -g 100x45+0+200
22161 ?        R      0:14 xterm -g 100x45+0+200
16832 ?        S      0:01 xterm -bg MistyRose1 -T root -e su -l
16912 ?        S      0:00 xterm -g 100x45+0+200
17861 ?        S      0:00 xterm -g 120x45+40+300
19930 ?        S      0:13 xterm -bg LightCyan
21686 ?        S      0:04 xterm -g 100x45+0+200
23334 ?        S      0:00 xterm -g 100x45+0+200

L'elenco dei processi si lascia anche formattare in base alle proprie esigenze. Tramite l'opzione -L viene emesso un elenco di tutte le parole chiavi. Se volete avere un elenco dei processi ordinati in base al volume di memoria occupata, utilizzate il seguente comando:



$ 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