- stocke le n° de processus de OpenHR dans $SIGACS/openhr/bin/.OpenHR.running,
- contrôle la présence effective du processus Unix.
Vous pouvez le contrôlez en tapant :
ps -fu $LOGNAME | grep [o]penhr
C'est une (très) bonne chose, mais ce contrôle présente une erreur de syntaxe :
nb=`ps -ef | grep $PID | grep -c -v "grep"`
Le calcul qui est fait peut ramener des occurrences inopportunes :
- Si le PID de OpenHR est 525, ce grep va aussi comptabiliser les processus dont le numéro contient 525 (comme par exemple 6525 et 5259),
- Si le fichier .OpenHR.running est obsolète et que le numéro de processus qu'il contient a été réutilisé par le système (par exemple s'il existe un processus 525 désormais attribué à un processus de la base de données).
Je vous propose de remplacez cette ligne (présente deux fois dans le script) par :
nb=`ps -fp $PID | grep -c "openhr"`
Merci pour l'info.
RépondreSupprimerC'est une très bonne suggestion d'amélioration.