#include #include #include #include #include #include void fatal (){ fprintf (stderr, "Bad input\n"); exit (1); } int main (void){ int pid, pid2, status,eingabe; /*Ausgabepuffer leeren*/ fflush (NULL); /*forken*/ pid = fork(); if(pid<0) exit(2); if(pid==0){ /*child ...*/ scanf("%d", &eingabe); exit(eingabe); } /*Parent*/ pid2 = waitpid(pid, &status, 0); if (pid2 < 0) exit(3); if (WIFSIGNALED (status)) { fputs("Got signal", stderr); exit (1); } /*Exit-Status des childs ausgeben*/ printf("Status: %d\n", WEXITSTATUS (status)); return 0; }