Bonjour à tous,
Je développe une fonction pour un script shell sous ksh qui doit me renvoyer le nombre d'instances du programme principal en cours de traitement, et s'arrêter si ce nombre est supérieur à 1.
Relativement simple, pensai-je.
Seulement voilà, les résultats que j'obtiens sont différents de ce que je suis en droit d'attendre. Le nombre de processus que j'obtiens en résultat est souvent supérieur ou inférieur.
J'ai probablement dû me tromper quelque part, mais impossible de trouver où est mon erreur !
Même en appelant deux fois mon calcul, je n'ai pas deux fois le même résultat !
Toute aide est la bienvenue !
Mon code :
Code:function NombreDeProcessus { PROCESSUS=$1 ; VAL_1=`ps -eo args | grep -F "${PROCESSUS}" | grep -vF "grep" | wc -l | tr -d [:blank:]`; VAL_2=$(ps -eo args | grep -F "${PROCESSUS}" | grep -vF "grep" | wc -l | tr -d [:blank:]); echo "Valeur 1 : '$VAL_1'" ; echo "Valeur 2 : '$VAL_2'" ; return $VAL_2; }
-----