wait.h头文件代码
时间: 2024-04-29 20:24:25 浏览: 111
以下是wait.h头文件的代码示例:
```c
#ifndef _WAIT_H
#define _WAIT_H
#include <sys/types.h>
/* 子进程退出状态 */
#define WEXITSTATUS(status) (((status) & 0xff00) >> 8)
#define WIFEXITED(status) (((status) & 0x7f) == 0)
#define WIFSIGNALED(status) (((status) & 0x7f) != 0 && ((status) & 0x80) == 0)
#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
#define WSTOPSIG(status) (((status) & 0xff00) >> 8)
#define WTERMSIG(status) ((status) & 0x7f)
/* 等待子进程退出 */
pid_t wait(int *status);
/* 等待任意子进程退出 */
pid_t waitpid(pid_t pid, int *status, int options);
/* 子进程退出时发送信号给父进程 */
#define WNOHANG 1 /* 非阻塞模式,如果没有子进程退出则立即返回0 */
#define WUNTRACED 2 /* 如果子进程暂停(被信号停止),也立即返回 */
#endif
```
该头文件定义了与等待子进程退出相关的函数和宏定义,包括wait()、waitpid()等函数和与子进程状态有关的宏定义。其中,wait()函数用于等待任意一个子进程退出,并返回子进程的进程号,如果有需要,还可以通过参数status获取子进程的退出状态;waitpid()函数用于等待指定进程号的子进程退出,并返回子进程的进程号,如果有需要,还可以通过参数status获取子进程的退出状态;WEXITSTATUS()、WIFEXITED()、WIFSIGNALED()、WIFSTOPPED()、WSTOPSIG()、WTERMSIG()等宏定义用于判断子进程的退出状态。
阅读全文