On Sat, 12 Jan 2002 05:39:29 -0500 (EST)
""Ivan R."" <[EMAIL PROTECTED]> wrote:

> En r�ponse � R�gis Grison <[EMAIL PROTECTED]>:
> 
> > Sylvain Sauvage wrote:
> 
> > (apparemment pas � tous les coups mais dans tous les cas c'est plus
>                ^^^^^^^^^^^^^^^^^^^^
> >  ou moins g�nant)
> 
> bonjour a tous!
> 
> pourquoi "pas a tous les coups"?

Tout simplement parce que dans certains cas, selon l'ordonnancement
des process dans l'ordonnanceur du noyau, il se peut que le processus
relatif au grep n'ait pas encore �t� lanc� quand le ps est ex�cut� et
qu'il envoie sa sortie sur sa sortie standard.

Comme exemple (sans int�r�t), je n'ai r�ussi � le montrer qu'avec 3
process (�a d�pend pas mal de la charge et la vitesse de la machine) :

[EMAIL PROTECTED]:~$ ps auxw | grep ps | grep ps | grep ps
fred      2346  0.0  0.5  3360 1508 pts/0    R    00:04   0:00 ps auxw
fred      2347  0.0  0.2  1804  740 pts/0    S    00:04   0:00 grep ps
fred      2348  0.0  0.2  1804  732 pts/0    S    00:04   0:00 grep ps
[EMAIL PROTECTED]:~$ ps auxw | grep ps | grep ps | grep ps
fred      2350  0.0  0.5  3360 1508 pts/0    R    00:04   0:00 ps auxw
fred      2351  0.0  0.2  1804  740 pts/0    S    00:04   0:00 grep ps
[EMAIL PROTECTED]:~$

Lors de la premi�re ex�cution, le ps a �t� lanc� alors que les 2 grep
�taient d�j� en cours d'ex�cution, mais lors de la deuxi�me ex�cution,
seul le premier grep a �t� lanc� (pour v�rification, lors du lancement
suivant, le processus suivant avait pour PID 2354).

Cette gestion des processus n'est pas sp�cifique � Linux et tout bon
bouquin sur Unix aborde � un moment les �tats des processus (d�sol�,
pas de r�f�rence sous la main).

Fred

Répondre à