我对popen(char *cmd,char *mode)的理解
查看次数49731 发表时间2012-07-19 22:45:16
FILE *popen(char *cmd,char *mode)
如果 mode 是“r",通常是一个父进程调用popen函数,那么此时popen生成了一个子进程,子进程干的事情 就是cmd,然后做完这件事后,会把结果送进子进程的标准输出,而这个标准输出就对应着父进程的一个流文件指针,比如FILE *fd,fd=popen(cmd,"r")的话,子进程的标准输出就对应于父进程的fd了。
如果mode 是”w“的话,父进程调用popen函数,并且把父进程的某个文件的流文件指针对应到子进程的标准输入上,即父进程向子进程提供标准输入数据。例子:
FILE *fd,fd=popen(cmd,"w")。此时就把fd对应的流文件作为子进程的标准输入了。
注意:popen是半双工的。父进行不可能同时既为子进程提供标准输入,又接受子进程的标准输出。
参考文献:《UNIX 环境高级编程》 第二版。508页
(转发请注明转自:学PHP)
相关推荐
- 实习总结(九)---黑客技术小盘点+ (2012-07-19 23:02:35)
- select函数——单进程监视多个文件描述符 (2012-07-19 23:03:04)
- Hadoop集群(第5期)_Hadoop安装配置 (2012-07-21 17:32:38)
- SVN 命令解释 (2012-07-24 22:09:23)
- 一致性hash算法 - consistent hashing (2012-07-24 22:10:37)
- Windows下的Memcache安装与测试教程 (2012-07-19 22:43:03)
- 模块开发篇(6)配置文件config入门 (2012-07-16 12:04:27)
- Redis通信协议优化 (2012-07-15 00:27:41)
- Comet:基于 HTTP 长连接的“服务器推”技术 (2012-07-14 10:05:56)
- OAUTH协议简介 (2012-07-10 18:19:57)
- 1楼 Tisha说: 2016-12-21 15:41:18
-
I really wish there were more artilces like this on the web.
- 2楼 Lilly说: 2016-12-21 19:07:53
-
Bralciinle for free; your parents must be a sweetheart and a certified genius.
发表评论