您的位置:首页 > 其它

UNIX之dup2()——笔记

2014-01-09 14:48 155 查看
在新建管道和进程之后,在子进程调用exec函数之前:

::close (pid_fd[0]);
dup2(pid_fd[1], STDOUT_FILENO);
::close (pid_fd[1]);

将实现子进程的标准输出重导向到管道的写端

dup2实现的直接效果为:描述符STDOUT_FILENO指向了管道的写端。

实际过程:内核修改STDOUT_FILENO的文件表指针,将该指针指向了管道的写端所对应的文件表,然后再关闭pid_fd[1]描述符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息