:: Enseignements :: Licence :: L3 :: 2008-2009 :: Programmation système en C ::
[LOGO]

fork() exec()


Exercice 1 - Anne, ma soeur Anne, ne vois-tu rien venir ?

Écrire un programme effectuant les opérations suivantes, dans l'ordre :
  • afficher "mon PID est <pid>" avec printf (sans retour à la ligne); pour obtenir le PID: getpid()
  • afficher "my PID is <pid>" avec write (toujours sans retour à la ligne)
  • fork()
  • afficher "je suis le <père|fils> et mon PID est <pid>" avec printf (toujours pas de retour à la ligne)
  • afficher "I am the <parent|child> process and my PID is" en utilisant write (toujours pas de retour à la ligne)
  • forcer l'affichage de tous ces messages, par exemple avec un puts("").

Comprenez-vous pourquoi l'affichage ne correspond pas tout à fait à ce qu'on attend ?

Exercice 2 - Hit the road, Jack

Exercice 3 - Accident de fourchette

Exercice 4 - Faire-parts de décès

Lorsqu'un processus fils se termine, le système envoie un signal SIGCHLD au processus père. Utiliser un handler de signal pour notifier sur la sortie standard de la terminaison des fils.