Programmation Avancée en C


fork.c

00001 #include <sys/types.h>
00002 #include <errno.h>
00003 #include <stdio.h>
00004 #include <string.h>
00005 #include <unistd.h>
00006 
00007 int main()
00008 {
00009         int fpid = fork();
00010 
00011         switch(fpid) {
00012         case -1:
00013                 fprintf(stderr, "fork a échoué: %s\n", strerror(errno));
00014                 return 1;
00015         case 0:
00016                 fprintf(stderr, "Je suis le fils: mon pid est %d,"
00017                         " celui de mon père est %d\n", getpid(), getppid());
00018                 sleep(2);
00019                 return 0;
00020         default:
00021                 fprintf(stderr, "Je suis le père: mon pid est %d,"
00022                         " celui de mon fils est %d\n", getpid(), fpid);
00023                 sleep(2);
00024                 return 0;
00025         }
00026 }