As shown in the following code:
/*************************************** * *********************************** Copyright: all rights reserved. ** Date: 15:11:48 * Author/Corporation: dengzhaoqun * Email: *************************************** **************************************/# include <stdio. h> # include <stdlib. h> # include <string. h> # include <sys/types. h> # include <sys/Wait. h> # include <unistd. h> # include <errno. h> int main (INT argc, char * argv []) {pid_t PID; int Stat; int exit_code; pid = fork (); If (pid = 0) {sleep (3); exit (5) ;}else if (PID <0) {fprintf (stderr, "fork failed: % s", strerror (errno )); return-1;} Wait (& Stat); // wait for a sub-process to end if (wifexited (STAT) // If the sub-process ends normally through return, exit, _ exit, wifexited () returns true {exit_code = wexitstatus (STAT); printf ("Child's exit_code: % d \ n", exit_code);} return 0 ;}
Reference: "Man 2 wait"