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 }