两个很有用的进程间通信函数popen,pclose
2015-07-13 10:44
204 查看
两个很有用的进程间通信函数popen,pclose
今天起的比较晚,然后来了也不想复习,还是看书学习--写代码--写博客有意思,不敢说有多精通,至少每天都在学习新知识,不求立刻完全消化,但求每天有进步。
现在就看看这两个函数,其实都是创建一个管道到子进程,但是使用这两个函数要比昨天使用pipe() 函数简单的多。
#include <stdio.h>
FILE *popen(const char *command, const char *type);
int pclose(FILE *stream);
函数原型参上。popen 函数有两个参数,第一个是执行的可执行程序,这个函数首先会调用fork( )然后调用exec( )函数执行这个可执行文件。然后还有一个参数,有两个选项(r & w). r :将返回的文件指针连接到可执行程序的标准输出,w:将返回的文件指针连接到可执行文件的标准输入。
今天起的比较晚,然后来了也不想复习,还是看书学习--写代码--写博客有意思,不敢说有多精通,至少每天都在学习新知识,不求立刻完全消化,但求每天有进步。
现在就看看这两个函数,其实都是创建一个管道到子进程,但是使用这两个函数要比昨天使用pipe() 函数简单的多。
#include <stdio.h>
FILE *popen(const char *command, const char *type);
int pclose(FILE *stream);
函数原型参上。popen 函数有两个参数,第一个是执行的可执行程序,这个函数首先会调用fork( )然后调用exec( )函数执行这个可执行文件。然后还有一个参数,有两个选项(r & w). r :将返回的文件指针连接到可执行程序的标准输出,w:将返回的文件指针连接到可执行文件的标准输入。
#include<stdio.h> #include<apue.h> #include<sys/wait.h> #include<unistd.h> #define PAGER "${PAGER:-more}" #define MAXLINE 255 int main(int argc,char **argv) { char line[MAXLINE]; FILE *fpin,*fpout; if(argc != 2){ printf("plesase enter the Pathname\n"); } if((fpin = fopen(argv[1],"r")) == NULL){ printf("can not open \n"); } if((fpout = popen(PAGER,"w")) == NULL){ printf("popen error\n"); } while(fgets(line,MAXLINE,fpin) != NULL){ if(fputs(line,fpout) == EOF){ printf("fputs error\n"); } } if(ferror(fpin)){ printf("fgets error\n"); } if(pclose(fpout) == -1){ printf("pclose error\n"); } exit(0); }首先我们应当在本地创建一个文本文件随便写入一些东西,然后传给这个程序,这个程序调用本身的more 分页程序,将文本里的东西分页显示在终端上。
相关文章推荐
- 两个很有用的进程间通信函数popen,pclose
- shell中$0,$?,$!等的特殊用法
- Linux PS 命令详解
- Linux下关闭和开启IPv6的方法
- linux 下配置 resin+nginx
- Linux下ps命令详解
- linux命令学习DAY.2
- linux(centos)搭建SVN服务器
- 高仿微信5.2.1主界面架构 包含消息通知
- JDBC中No operations allowed after connection closed
- 悟空学Linux专栏----第26篇
- nginx limit_req限制ip在同一时间段的访问次数
- VM linux虚拟机 和主机进行ftp连接
- linux popen函数
- Apache日志分析与状态查看方法-Linux命令
- hadoop内存大小设置问题
- 处理【Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operatio】
- 悟空学Linux专栏----第25篇
- XAMPP Apache 配置多端口和多域名方法
- Linux内核中ioremap映射的透彻理解