[C/UNIX] Process et signaux

Process et signaux [C/UNIX] - Programmation

Marsh Posté le 19-02-2001 à 10:43:37    

contexte :
je fork pour executer un programme externe mais celui-ci en execute un autre
 
Voici mon problème :
je voudrais pouvoir arrêter le process créé par mon processus fils
 
solutions ?
- pouvoir faire un kill "récursif" (envoyé aux enfants d'un processus donné
- pouvoir récupérer un pid avec le nom du process
 
merci d'avance pour votre précieuse aide
 
:jap:

Reply

Marsh Posté le 19-02-2001 à 10:43:37   

Reply

Marsh Posté le 19-02-2001 à 13:33:20    

pid_fille = fork("fille"....);
getpid() -> retourne l'ID number du processus
kill pid_fille -> tue le processus
 
procs permet de recuperer le pid avec le nom du process

Reply

Marsh Posté le 19-02-2001 à 13:47:57    

Tu peux aussi la jouer malin :
 
Tu redéfinis le signal SIGUSR1 dans le fils. Dans la fonction le fils fait le kill de son propre fils.
 
Ensuite tu n'as plus qu'à envoyer le SIGKILL à partir du père sur son fils.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 19-02-2001 à 13:49:30    

En fait quand je dis redéfinir, il faut écrire le code dans le fils pour que celui-ci intercepte le signal SIGUSR1.
 
C'est un bon exercice mais la solution du dessus est plus simple et donc meilleure.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed