next up previous contents Next: Initialisation du shell. Up: Scripts utiles et commandes. Previous:  Processus persistant en tâche   Table des matières  

21.7.12  Traitement de la liste de processus.

La commande qui suit exploite l'option de format personnalisé pour imprimer chaque attribut concevable d'un processus:

ps awwwxo %cpu,%mem,alarm,args,blocked,bsdstart,bsdtime,c,caught,cmd,comm,\ 
command,cputime,drs,dsiz,egid,egroup,eip,esp,etime,euid,euser,f,fgid,fgroup,\ 
flag,flags,fname,fsgid,fsgroup,fsuid,fsuser,fuid,fuser,gid,group,ignored,\ 
intpri,lim,longtname,lstart,m_drs,m_trs,maj_flt,majflt,min_flt,minflt,ni,\ 
nice,nwchan,opri,pagein,pcpu,pending,pgid,pgrp,pid,pmem,ppid,pri,rgid,rgroup,\ 
rss,rssize,rsz,ruid,ruser,s,sess,session,sgi_p,sgi_rss,sgid,sgroup,sid,sig,\ 
sig_block,sig_catch,sig_ignore,sig_pend,sigcatch,sigignore,sigmask,stackup,\ 
start,start_stack,start_time,stat,state,stime,suid,suser,svgid,svgroup,svuid,\ 
svuser,sz,time,timeout,tmout,tname,tpgid,trs,trss,tsiz,tt,tty,tty4,tty8,ucomm,\ 
uid,uid_hack,uname,user,vsize,vsz,wchan 


Il est préférable de créer un tube pour récupérer le résultat de la commande ps, et le visualiser dans un éditeur de texte brut. De manière plus intéressante, la commande awk peut afficher l'ID d'un processus avec:

ps awwx | grep 'htt[p]d' | awk '{print $1}' 


Ainsi, tous les processus ayant httpd dans le nom de commande ou la ligne de commande seront affichés. Ce filtre est utile pour arrêter netscape:

kill -9 `ps awx | grep 'netsc[a]pe' | awk '{print $1}'` 


(Remarquez que [a] est l'expression rationnelle empêchant grep de se trouver lui-même dans la liste des processus.

Parmi les options utiles de la commande ps, nous trouvons:

ps awwxf 
ps awwxl 
ps awwxv 
ps awwxu 
ps awwxs 


L'option -f est la plus utile pour mettre en évidence les relations entre processus-père et processus-fils. Elle signifie forest, et affiche l'arborescence des processus principaux. Ainsi, dans l'exemple qui suit, un écran X avec deux fenêtres est utilisé:

PID TTY STAT TIME COMMAND
1 ? S O:05 init[5]
2 ? SW 0:02 [kflushd]
3 ? SW 0:02 [kupdate]
4 ? SW 0:00 [kpiod]
5 ? SW 0:01 [kswapd]
6 ? SW< 0:00 [mdrecoveryd]
262 ? S 0:02 syslogd -m 0
272 ? S 0:00 klogd
341 ? S 0:00 xinetd -reuse -pidfile /var/run/xinetd.pid
447 ? S 0:00 crond
480 ? S 0:02 xfs -droppriv -daemon
506 tty1 S 0:00 /sbin/mingetty tty1
507 tty2 S 0:00 /sbin/mingetty tty2
508 tty3 S 0:00 /sbin/mingetty tty3
509 ? S 0:00 /usr/bin/gdm -nodaemon
514 ? S 7:04 \_ /etc/X11/X -auth /var/gdm/:0.Xauth :0
515 ? S 0:00 \_ /usr/bin/gdm -nodaemon
524 ? S 0:18    \_ /opt/icewm/bin/icewm
748 ? S 0:08       \_ rxtv -bg black -cr green -fg whi
749 pts/0 S 0:00       |   \_ bash
5643 pts/0 S 0:09       |      \_ mc
5645 pts/6 S 0:02       |         \_ bash -rcfile .bashrc
25292 pts/6 R 0:00       |             \_ ps awwxf
11780 ? S 0:16       \_ /usr/lib/netscape/netscape-commu
11814 ? S 0:00           \_ (dns helper)
15534 pts/6 S 3:12 cooledit -I /root/.cedit/projects/Rute
15535 pts/6 S 6:03 \_ aspell -a -a


L'option u indique le format d'utilisateur, et les autres options montrent la mémoire virtuelle, les signaux et le format long.


next up previous contents Next: Initialisation du shell. Up: Scripts utiles et commandes. Previous:  Processus persistant en tâche   Table des matières  
1-01-2006