WAIT4 - Linux手册页
Linux程序员手册 第2部分
更新日期: 2020-06-09
名称
wait3,wait4-等待进程更改状态,BSD样式
语法
#include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> #include <sys/wait.h> pid_t wait3(int *wstatus, int options, struct rusage *rusage); pid_t wait4(pid_t pid, int *wstatus, int options, struct rusage *rusage);
glibc的功能测试宏要求(请参阅feature_test_macros(7)):
wait3():
从glibc 2.26开始:
_DEFAULT_SOURCE
(_XOPEN_SOURCE> == 500 &&
! (_POSIX_C_SOURCE> = 200112L ||| _XOPEN_SOURCE> = 600))
从glibc 2.19到2.25:
_DEFAULT_SOURCE _XOPEN_SOURCE> = 500
Glibc 2.19及更早版本:
_BSD_SOURCE _XOPEN_SOURCE> = 500
wait4():
从glibc 2.19开始:
_DEFAULT_SOURCE
Glibc 2.19及更早版本:
_BSD_SOURCE
说明
这些功能是非标准的;在新程序中,首选使用waitpid(2)或waitid(2)。
wait3()和wait4()系统调用与waitpid(2)类似,但是另外还会返回由rusage指向的结构中有关子级的资源使用信息。
除了使用rusage参数之外,下面的wait3()调用:
wait3(wstatus, options, rusage);
等效于:
waitpid(-1, wstatus, options);
同样,以下wait4()调用:
wait4(pid, wstatus, options, rusage);
等效于:
waitpid(pid, wstatus, options);
换句话说,wait3()会等待任何子项,而wait4()可以用于选择要在其上等待的一个或多个特定子项。有关更多详细信息,请参见wait(2)。
如果rusage不为NULL,则指向的结构rusage将填充有关该子级的记帐信息。有关详细信息,请参见getrusage(2)。
返回值
至于waitpid(2)。
错误说明
至于waitpid(2)。
遵循规范
4.3BSD。
SUSv1包含了一个wait3()规范; SUSv2包含wait3(),但将其标记为LEGACY; SUSv3删除了它。
备注
这些天都不需要添加,但是增加了可移植性。 (实际上,使用在中定义的struct timeval类型的字段定义了rusage结构。)
C library/kernel differences
在Linux上,wait3()是在wait4()系统调用之上实现的库函数。
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。