下面是一个通用的 pipe()
用法示例:
int fd[2];
pipe(fd);
if((childpid = fork()) == -1)
{
perror("fork");
exit(1);
}
if(childpid == 0)
{
/* Child process closes up input side of pipe */
close(fd[0]);
////.....some code....////
exit(0);
}
else
{
/* Parent process closes up output side of pipe */
close(fd[1]);
////.....some code....////
}
我想知道的是在子进程和父进程中调用是否 是必要的。close(fd[0])
close(fd[1])
如果我不 close()
使用它们并且只fd[1]
在孩子和fd[0]
父母身上使用会发生什么。
它是否关闭只是为了让我们不小心不使用这些描述符?