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]描述符。
::close (pid_fd[0]);
dup2(pid_fd[1], STDOUT_FILENO);
::close (pid_fd[1]);
将实现子进程的标准输出重导向到管道的写端
dup2实现的直接效果为:描述符STDOUT_FILENO指向了管道的写端。
实际过程:内核修改STDOUT_FILENO的文件表指针,将该指针指向了管道的写端所对应的文件表,然后再关闭pid_fd[1]描述符。
相关文章推荐
- UNIX环境编程学习笔记(2)——文件I/O之不带缓冲的 I/O
- Unix学习笔记1--Uinx系统编程概述
- UNIX环境编程学习笔记----Libpcap库
- unix学习笔记------消息队列的接收
- 《unix systems for modern architectures》笔记---SMP和锁(一)
- 《unix systems for modern architectures》笔记---主从处理器设计和死锁
- APUE_Chapter02_UNIX实现标准_笔记总结
- unix环境编程学习笔记---------套接字------socket------客户端
- unix环境高级编程 学习笔记4
- UNIX环境编程学习笔记(28)——多线程编程(三):线程的取消
- [开发笔记]-unix时间戳、GMT时间与datetime类型时间之前的转换
- Unix环境高级编程笔记 :13、守护进程
- unix 命令笔记
- Unix环境编程学习笔记---------打开并查看系统调用表
- Unix整理笔记——作业控制和进程管理——里程碑M11
- UNIX学习笔记-文件I/O--(creat,close)
- 原子日志生成器-----UNIX系统编程笔记
- 《Unix & Linux 大学教程》 - 第十三章 学习笔记
- “UNIX系统开发-gcc参数详解"学习笔记
- Unix整理笔记——作业控制和进程管理——里程碑M11