首页 > 代码库 > UNIX环境高级编程第八章二

UNIX环境高级编程第八章二

1.几个wait类函数

目的:暂时停止当前进程执行进行等待,直到有信号或者子进程结束。

有的父进程中有用来获得子结束消息的函数。一个进程正常或异常终止时,内核向父进程发一个SIGCHLD消息。父进程得到消息,调用wait类函数,对消息进行处理。有三类wait函数:

(1)wait:有终止状态的子进程wait即取得终止状态返回。没有出错返回。没有终止状态则一直阻塞等待。

(2)waitpid:有三个参数,根据第一个参数等待的进程不同,第二个是存放子进程终止状态的,第三个option为WNOHANG时,代表目标子进程没有终止时,不阻塞,返回值为0。

(3)waitid:类似于waitpid,第二个参数根据第一个参数不同意义不同。

2.竞争条件
有想处理共享资源的多个进程,且处理结果与处理先后顺序有关。用TELL和WAIT函数解决

3.exec函数

fork+exec生成一个从头开始执行的新程序。

程序控制原语包括:fork,exec,wait,exit

UNIX环境高级编程第八章二