Recuperer le signal de fin d'un processus

EricGT -  
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour a tous,

Voilà mon problème, je suis en train de scrypter une boucle qui exécute des sous-process en fonction de la condition de départ...

Dans ce style là :

WHILE [ true ]
DO
FOR action IN "commande qui me dit si action a effectuer"
DO
IF
$action = "non"
THEN
echo date > no_action.log
echo "on fait rien" >> no_action.log
ELSE
nohup $action &
echo $! >> action.pid
FI
DONE
DONE

Donc jusqu'ici pour moi tout va bien, tant qu'il y a des "actions" a effectuer je les lancent en fond histoire que ma boucle ne s'arrête jamais même si des "actions" sont en cours et je stock leur PID afin de pouvoir les retrouver au besoin.

Le problème viens qu'au bout d'un certain temps, les PID des process ayant terminés sont toujours présent dans le fichier...

Est-ce que quelqu'un aurait une solution pour que mon PID s'efface du fichier quand l'action est terminé ?? En gros comment récupérer le signal d'arrêt de mon process ? (le "action" ne peux pas me le dire directement)

Si c'est faisable bien sûr...!

Merci d'avance ;)

A+

1 réponse

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

J'avais pensé à utiliser "trap", mais ceci devrait peut être convenir davantage... ;-))
0