// // Written for Computer Networks and Systems lab classes // AUTHOR : Sergiusz Warga #include #include #include #include void child_task() { printf("I am a child\n"); } void print_pids() { printf("My PID is %d\nMy parent's PID is %d\n", getpid(), getppid()); } int main() { pid_t pid; pid = fork(); if (pid == -1) { // If something went wrong. perror("Fork: "); exit(EXIT_FAILURE); } if (pid == 0) { // If this is a child process. child_task(); print_pids(); exit(EXIT_SUCCESS); } printf("I am a parent.\n"); print_pids(); sleep(1); // This may be required as the parent process won't wait for the child process to finish its execution. return 0; }