0% ont trouvé ce document utile (0 vote)
128 vues1 page

Exemples de programmes avec fork() en C

Le document décrit deux exercices sur les processus et la fonction fork() en C. Le premier exercice illustre le comportement de fork() et le deuxième demande d'écrire un programme affichant les caractéristiques des processus père et fils.

Transféré par

Chouichi Ghada
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats ODT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
128 vues1 page

Exemples de programmes avec fork() en C

Le document décrit deux exercices sur les processus et la fonction fork() en C. Le premier exercice illustre le comportement de fork() et le deuxième demande d'écrire un programme affichant les caractéristiques des processus père et fils.

Transféré par

Chouichi Ghada
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats ODT, PDF, TXT ou lisez en ligne sur Scribd

Systèmes d'exploitation – TD programme et processus, environnement d'exécution

Exercice N° 1 :
Le programme suivant permet d’illustrer le comportement du fork.

main () {
int code_retour ;
printf (“Debut du test fork ()\n”);
code_retour = fork ();
switch (code_retour ) {
case –1 :
printf (“Pbm lors de la creation du processus\n”);
break;
case 0 :
printf (“Je suis le processus fils \n”);
break;
default :
printf (“Je suis le processus père\n”);
printf (“Je viens de créer le processus fils dont le pid est %d \n”,code_retour);
break;
}
break;
printf (“code_retour %d\n”, code_retour);
printf (“Fin du test fork ()\n”);
}
Exécuter ce programme puis expliquer le résultat obtenu.

Exercice N°2 :

A l’aide de la procédure fork() et en utilisant les primitives getuid, getgid,… fournies en annexe,
écrire un programme qui crée un nouveau processus et qui affiche pour les deux processus (père et
fils) les caractéristiques générales d’un processus : • Identifiant du processus. • Identifiant du père
du processus. • Répertoire de travail du processus. • Le propriétaire réel. • Le propriétaire effectif. •
Le groupe propriétaire réel. • Le groupe propriétaire effectif. Avant d’afficher ces informations, on
prendra bien soin de préciser si l’on est dans le processus père ou fils. Exercice N°2
A l’aide de la procédure fork() et en utilisant les primitives getuid, getgid,… fournies en
annexe, écrire un programme qui crée un nouveau processus et qui affiche pour les deux
processus (père et fils) les caractéristiques générales d’un processus :
• Identifiant du processus.
• Identifiant du père du processus.
• Répertoire de travail du processus.
• Le propriétaire réel.
• Le propriétaire effectif.
• Le groupe propriétaire réel.
• Le groupe propriétaire effectif.
Avant d’afficher ces informations, on prendra bien soin de préciser si l’on est dans le
processus père ou fils.

Vous aimerez peut-être aussi