Programmation système
Kaoutar.T
Messages postés
17
Statut
Membre
-
Twinuts Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Twinuts Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis bloqué sur cet exercice j'aimerais bien m'aider .
Ecrire un programme qui crée un processus fils. Le père affichera à l'écran "ping"
alors que le fils affichera "pong", et ce de manière alternative. Pour cela vous
utiliserez les signaux "SIGUSR1" et "SIGUSR2" et vous regarderez le problème de
l'arrêt du processus.
j'ai pas pu intégré SIGUSR1 et SIGUSR2 dans mon code!
je suis bloqué sur cet exercice j'aimerais bien m'aider .
Ecrire un programme qui crée un processus fils. Le père affichera à l'écran "ping"
alors que le fils affichera "pong", et ce de manière alternative. Pour cela vous
utiliserez les signaux "SIGUSR1" et "SIGUSR2" et vous regarderez le problème de
l'arrêt du processus.
j'ai pas pu intégré SIGUSR1 et SIGUSR2 dans mon code!
void pere(){
printf("ping");
fils();
return;
}
void fils(){
printf("pong");
pere();
return;
}
int main(){
pid_t pid;
if(pid=fork()!=0)
pere();
return 0;
}
2 réponses
-
Bonjour,
Ce n'est pas bon l'algorithme.
Je te conseille la famille: https://forums.commentcamarche.net/forum/affich-37604388-que-fait-un-fork
N'hésite pas si tu as des questions.
Cdlt -
Salut,
Normalement le père tout comme le fils doivent écouter les signaux SIGUSR1 et SIGUSR2 puis envoyer l'un l'autre le bon signal.
Exemple si le père écoute SIGUSR1 il enverra un signal au fils sur SIGUSR2 et le fils qui écoute SIGUSR2 répondra sur SIGUSR1
Pour écouter les signaux:
http://manpagesfr.free.fr/man/man2/sigaction.2.html
Pour envoyer des signaux:
http://manpagesfr.free.fr/man/man2/kill.2.html