Bonsoir !
J'arrive un peu après la bataille, mais il y a un truc qui me choque
dans ce pipeline...
Patrice Karatchentzeff a écrit :
> ps -edf | grep -c thunderbird
Je vois une « race condition » ici. Le shell va demander au noyau de
lancer deux processus, et celui-ci va les lancer « à peu près » au même
temps. Au moment où ps lit /proc, il est possible que grep soit déjà
présent dans la table des processus, et il est aussi possible qu'il n'y
soit pas encore. Ça va dépendre, entre autres, de la charge système, de
l'âge du capitaine, du fait que la commande soit lancée par un script,
et de la phase de la lune.
Pour remédier à ça, on peut prendre grep taper sur grep :
ps -edf | grep -v grep | grep -c thunderbird
ou utiliser cette astuce qui date au moins du siècle denier :
ps -edf | grep -c '[t]hunderbird'
À+,
Edgar.