Fork under linux-general Linux technology-Linux programming and kernel information, the following is a detailed description. In linux, fork generates a sub-process, called once, and returned twice.
Fork () <0, failed.
Fork () = 0, in the sub-process. (Sub-process ID)
Fork ()> 0, in the parent process. (Tell the child process ID generated by the parent process)
CODE: main (){ Pid_t pid;
Switch (pid = fork ()) { Case-1: /* Here the pid is-1, and the fork function fails */ /* Some possible reasons are */ /* Number of processes or virtual memory used up */ Perror ("The fork failed! "); Break;
Case 0: /* Pid is 0, sub-process */ /* Here, We are children. What should we do? */ /*...*/ /* But after that, we need to do something similar to the following :*/ _ Exit (0 );
Default: /* If the pid is greater than 0, it is the sub-process number obtained by the parent process */ Printf ("Child's pid is % d \ n", pid ); } Return 0; } |