在 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()为流创建的进程”。是否有存储此值的地方?
答案 0 :(得分:2)
来自实现popen()
和pclose()
的库所拥有的某个内部状态。最有可能的是,它将作为字段存储在(内部)FILE
结构中。