Bonjour.
J'ai une application qui doit,à partir d'un pid, stopper un processus et attendre qu'il soit terminé. Si j'ai bien compris waitpid marche uniquement si le pid est celui d'un processus enfant. Ce cas correspond à tous les exemple que j'ai trouvé sur le net..
- Comment faire si le processus n'est pas un enfant? J'ai réussi à faire quelque chose en utilisant kill(pid,0) (teste l’existence du pid) et une boucle mais je ne sais pas si c'est la bonne méthode.
- Si le pid correspond à processus enfant, es ce préférable d'utiliser wait ou alors utiliser kill(pid,0) est possible si je gère le signal SIGCHLD?
- Y a t-il une méthode particulière pour savoir si le pid correspond à un process enfant?
En gros je cherche à faire une fonction qui pour n'importe quel PID (enfant ou non) :
1- envoie d'un SIGTERM
2- attend la fin du processus.
3- si au bout de 2 secondes le processus n'est pas terminé : envoie d'un SIGKILL
Merci
Partager