从pclose得到pid的地方

时间:2013-03-27 09:44:22

标签: c++ c

pclose 函数的文档中,有一部分代码说明了如何实现pclose()函数

int pclose(FILE *stream)

{
    int stat;
    pid_t pid;


    pid = <pid for process created for stream by popen()>
    (void) fclose(stream);
    while (waitpid(pid, &stat, 0) == -1) {
        if (errno != EINTR){
            stat = -1;
            break;
        }
    }
    return(stat);
}

所以我很有趣,形成他得到“ppen为popen()为流创建的进程”。是否有存储此值的地方?

1 个答案:

答案 0 :(得分:2)

来自实现popen()pclose()的库所拥有的某个内部状态。最有可能的是,它将作为字段存储在(内部)FILE结构中。