popen函数
通过管道与shell命令进行通信
- popen函数
- FILE *popen(const char *command, const char *type);
- 创建一个管道,并创建一个子进程来执行shell,shell会创建一个子进程来执行command
- 将父子进程的输入/输出重定向到管道,建立一个单向的数据流
- 返回一个fp文件指针给父进程,父进程可根据fp对管道进行读写
- 向管道中读数据,读命令的标准输入
- 向管道中写数据,写入该命令的标准输入
使用popen函数,建立起读模式、写模式就好
- 读模式调用popen
- popen(command, "r");
- popen函数创建输入写入到管道,被调用popen来的父进程读取
- 子进程的标准输出写入到管道,被调用popen的父进程读取
- 父进程通过对popen返回的fp指针读管道,获取执行命令的输出
- 写模式调用popen
- fp = popen(command, "w");
- popen函数创建子进程执行command,创建管道
- 调用popen的父进程,通过fp进行对管道进行写操作
- 写入的内容通过管道传给子进程,作为子进程的输入
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <

popen函数用于创建管道并启动子进程执行shell命令,实现进程间通信。通过指定"r"或"w"参数,父进程可以读取或写入子进程的输入/输出。在读模式下,子进程的标准输出进入管道供父进程读取;在写模式下,父进程写入管道作为子进程的输入。
最低0.47元/天 解锁文章
1018

被折叠的 条评论
为什么被折叠?



