进程初步2
目录
1、进程等待清理函数(wait)
-- 函数头文件
- #include <sys/types.h>
- #include <sys/wait.h>
-- 函数原型
- pid_t wait(int *wstatus);
-- 函数的作用:
- 阻塞当前进程 等待子进程死亡
- 子进程死亡 解除阻塞 并执行资源的回收
- 获取子进程的退出状态
-- 函数的参数:
- int *wstatus:用来接收子进程的退出状态
- 子进程调用exit函数进行退出的参数会放到这里
- 通过宏定义可以判断是否为正常退出
- WIFEXITED(wstatus)
-- 返回为真 进程为正常结束 如:exit、_exit、 main函数的return
-- 返回为假 非正常结束 如:段错误、 kill 等 - WEXITSTATUS(wstatus)
-- 可以将子进程exit中的参数解出来
-- 函数的返回值:
- 成功返回 死亡的子进程的进程号
- 失败返回 -1
2、等待指定的子进程(waitpid)
-- wait函数等待的任意一个子进程,谁先死,先执行那个,而下面这个函数可以等待具体哪个进程。
- pid_t waitpid(pid_t pid, int *wstatus, int options)
-- 函数的作用:
- 根据参数的填写 进行相应的等待函数