Bonjour à tous.
Mon titre est un peu trompeur, ce que je cherche à faire est un poil plus compliqué.
Un processus A crée un processus B.
Le processus B a deux tâches à accomplir.
Le processus A doit attendre que le processus B ait achevé sa tâche 1 avant de reprendre là où il en était avant de créer le processus B.
Je code en C, mais c'est sûrement un détail. J'ai pensé à plusieurs solutions dont une presque parfaite :
Lorsque B a terminé sa tâche 1, il envoie à A (via kill) le signal SIGUSR1 puis commence sa tâche 2. Avant cela, A avait pris soin d'intercepter SIGUSR1 via un handler. Ainsi, lorsque A recevra SIGUSR1, la fonction handler (user-defined) s'exécutera ... oui mais il est question de continuer sa tâche, pas d'en commencer une nouvelle.
Je peux donner plus de précisions (ou du code) si nécessaire.
En vous remerciant,
Partager