【发布时间】:2014-12-10 10:09:21
【问题描述】:
我是 Linux 新手。我正在尝试使用 waitid() 来等待子进程。 当我尝试使用 gcc 编译包含以下行的文件时:
id_t cpid = fork();
siginfo_t status;
waitid(P_PID, cpid, &status, WEXITED);
产生了以下错误:
error: ‘P_PID’ undeclared (first use in this function)
我包含了以下库:
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <signal.h>
#include <string.h>
#include <time.h>
我错过了什么吗?
另一个问题是如何使用WIFSIGNALED() 来检索类型siginfo_t 的信息?
【问题讨论】:
-
你可能想阅读
waitidreference,你没有包含正确的头文件。 -
根据waitid()的manual page,waitid()的第一个参数应该是P_PID或者P_ALL或者P_GID,还是我误解了waitid()的用法?
-
@user3545752:
#include <sys/wait.h>