Recuperer le signal de fin d'un processus

Fermé
EricGT - 21 juin 2013 à 17:05
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 21 juin 2013 à 17:39
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
21 juin 2013 à 17:39
Salut,

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