Processus signal kill

cs_renovatio34 Messages postés 1 Date d'inscription mardi 2 mars 2010 Statut Membre Dernière intervention 9 octobre 2011 - 9 oct. 2011 à 15:44
andoid Messages postés 106 Date d'inscription samedi 31 mars 2012 Statut Membre Dernière intervention 16 juin 2013 - 11 oct. 2011 à 10:43
Bonjour à tous,

voila j'ai un programme "fic1" qui exécute une boucle sans fin en attendant de recevoir le signal SIGUSR1.

Je voudrai créer un second programme "fic2" qui fasse




kill(pid, SIGUSR1);




pour stopper "fic1" le problème c'est que je ne sais pas comment faire pour passer le pid de "fic1" vers "fic2" .

Merci pour votre aide.

2 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Membre Dernière intervention 14 février 2014 2
10 oct. 2011 à 13:44
salut,

Tu peux passer par un fichier quelcquonque.
Par exemple : "/var/lepiddufichierafermersousformeascii" qui contiendra le PID de fic1.

fic2 n'as plus qu'a verifier que ce fichier existe et si oui, le lire pour obtenir le PID a fermer.

@++
0
andoid Messages postés 106 Date d'inscription samedi 31 mars 2012 Statut Membre Dernière intervention 16 juin 2013
11 oct. 2011 à 10:43
dans fich1
struct sigaction sa;
sa.sa_handler=fich1

sigaction(SIGUSR1,&sa,0);

dans fich2 tu fais kill(getpid(),SIGUSR1) et tu mets ton main dans fich1 à la fin tu fais un makefile sa devrai marche
0
Rejoignez-nous