process: 进程是一个正在执行的程序实例,是linux调度的基本单位。
常用进程ID:PID
父进程ID:PPID
创建进程 : pid_t fork(void)
获取进程id : gepid(void) ;getppid(void)
等待进程:子进程死掉,但是依然保留在进程表里面,为了避免出现这种状态,就用waitpid()函数。
waitpid(pid_t pid,int *status, int options).
》pid 等待进程的PID
> status 保存子进程的状态
-1
1
0
>0
》options 规定waitd调用的行为,填零即可。
程序中:
switch
{
case -1: // fault
case 0 : // child process
default: // father process
waitpid(child,&status,0)
printf("this is father process ")
}
程序使用waitpid()专门等待child指定的子进程返回,这样只有子进程退出后,父进程才停止执行。试想下如果不这么做会带来什么样的后果????
阅读(771) | 评论(0) | 转发(0) |