63 lines
2.4 KiB
C
Raw Permalink Normal View History

2020-10-22 11:57:36 +02:00
/**
* @ Author: JunkJumper
* @ Link: https://github.com/JunkJumper
* @ Copyright: Creative Common 4.0 (CC BY 4.0)
* @ Create Time: 22-10-2020 11:55:28
* @ Modified by: JunkJumper
* @ Modified time: 22-10-2020 11:56:56
*/
/**********************************************************/
/* DUT INFORMATIQUE - M311 - R. CHIGNOLI */
/* p_multi_fork_signal : Apr<70>s fork, */
/* - PERE : Affiche son pid et ppid, */
/* Ignore le signal SIGINT */
/* S'arrete <20> la reception du signal SIGUSR1, */
/* Se met en boucle infinie. */
/* - FILS : Affiche son pid et son ppid, */
/* Cree 3 (sous)fils */
/* Attend un signal SIGTERM de l'un des fils */
/* Envoie un signal SIGINT a son pere, */
/* Se met en boucle infinie. */
/* Envoie le signal SIGUSR1 a son pere a */
/* l'interception du signal SIGTERM puis */
/* meurt. */
/* - Chaque sous-FILS : Affiche son pid et son ppid, */
/* Se desolidarise de son pere, */
/* Attend un signal SIGUSR1 de l'utilisateur, */
/* Se met en boucle infinie. */
/* Envoie le signal SIGTERM vers son pere */
/* a l'interception du signal SIGUSR1. */
/* Se termine en recevant le signal SIGUSR2 */
/* de la part de l'utilisateur. */
/* NB : <20> la fin du scenario, il ne reste que les trois */
/* sous-fils arretable par envoi de signaux SIGUSR2 */
/**********************************************************/
# include <stdio.h>
# include <signal.h>
/**********************/
/* PARTIE A COMPLETER */
/**********************/
main ()
{ int res;
/**********************/
/* PARTIE A COMPLETER */
/**********************/
res = fork();
if (res < 0) printf ("ERREUR FORK");
else
if (res == 0)
{ // FILS
/**********************/
/* PARTIE A COMPLETER */
/**********************/
}
else
{ // PERE
/**********************/
/* PARTIE A COMPLETER */
/**********************/
}
}