#define _POSIX_C_SOURCE 200112L #include #include #include #include #include "err.h" int x = 5; int main(int argc, char **argv) { int y = 10; int c = fork(); if (c == -1) FATAL("fork"); else if (c == 0) // le fils { printf("\nJe suis le fils\n"); printf("x = %d, y = %d\n", x++, y++); printf("Adresses: &x = %p, &y = %p\n", (void*)&x, (void*)&y); printf("x = %d, y = %d\n\n", x, y); } else // le pere { // sleep(1); printf("\nJe suis le pere\n"); printf("x = %d, y = %d\n", x--, y--); printf("Adresses: &x = %p, &y = %p\n", (void*)&x, (void*)&y); printf("x = %d, y = %d\n", x, y); } printf("Mon pid est %d, mon pere est %d\nRetour fork() %d\n", (int)getpid(), (int)getppid(), c); }