1 2 #include <unistd.h> 3 #include <sys/types.h> 4 #include <sys/wait.h> 5 #include <stdio.h> 6 7 int main(void) 8 { 9 pid_t pid; 10 11 pid = fork (); 12 13 /* Sometimes child goes first (non-zero), sometimes parent (zero). This 14 printing means we can detect if we correctly get a zero result and a 15 non-zero result (--> three 'X's printed), but the output doesn't depend 16 on the order. */ 17 18 printf("%s", pid==0 ? "X" : "XX"); 19 20 if (pid != 0) 21 waitpid(pid, NULL, 0); 22 23 return 0; 24 } 25