fork函数:被调用一次 返回两次 子进程返回0 父进程返回新子进程的ID

vfork函数:保证子进程先运行 在它调用exec或exit后父进程才可能被调度运行;子进程在父进程的地址空间运行

exec函数:用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序

wait函数:会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回。

                    返回值:若成功,返回进程ID


//显示不同的exit值
#include "apue.h"
#include <sys/wait.h>
int main(void){
pid_t pid;
int status;

if((pid=fork())<0)
err_sys("fork error");
else if(pid==0)
exit(7);

if(wait(&status)!=pid)
err_sys("wait_error");
pr_exit(status);

if((pid=fork())<0)
err_sys("fork error");
else if (pid==0)
abort();

if(wait(&status)!=pid)
err_sys("wait_error");
pr_exit(status);

if((pid=fork())<0)
err_sys("fork error");
else if (pid==0)
status/=0;

if(wait(&status)!=pid)
err_sys("wait_error");
pr_exit(status);
exit(0);
}