Unix进程控制

来源:互联网 发布:怎么看数据库端口 编辑:程序博客网 时间:2024/05/21 07:00

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);

}


原创粉丝点击