Programmation système

Kaoutar.T Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
Twinuts Messages postés 5375 Date d'inscription   Statut Modérateur 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!
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

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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
0
Twinuts Messages postés 5375 Date d'inscription   Statut Modérateur Dernière intervention   2
 
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


0