linux c语言 system系统调用与popen的使用
来源:互联网 发布:jmysql数据库启动服务 编辑:程序博客网 时间:2024/06/12 02:45
system系统调用有很多诟病,很多人推荐使用popen
1.popen的函数原型为:
#include<stdio.h>
FILE*popen(const char* command,const char* type);
popen的实现是:通过fork产生一个子进程,然后子进程来执行command对应的命令,并且创建了一个管道,这个管道的作用是实现这个子进程与调用进程之间的命令、参数以及返回值的传递(本来管道就是一种进程间通信方式)。
popen的返回值是个标准I/O流,并且这个流是单向的,须由pclose来关闭,pclose的函数原型见下面。
popen返回的I/O流的方向由参数type确定,type参数只能是w(写)和r(读)中的一个,如果 type 是 "r" 则fopen返回的文件指针连接到 command 的标准输出;如果 type 是 "w" 则文件指针连接到 command 的标准输入。
2.pclose函数原型
#include<stdio.h>
int pclose(FILE*stream);
3.一个简单的用popen实现的ping调用实例
int getStatus(std::string cmd){ int status=-1; FILE* fp=popen(cmd.c_str(),"r"); if(fp){ status=0; char* res=new char[1024]; while(fgets(res,1024,fp)!=NULL){ std::cout<<res; } } pclose(fp); return status;}
参见:1.百度百科:linux c popen
2.Linux下使用system()函数一定要谨慎
3.【IPC通信】基于管道的popen和pclose函数
0 0
- linux c语言 system系统调用与popen的使用
- C语言中调用系统命令(system popen...)
- LINUX popen实现system系统调用
- linux命令C开发下使用常用函数system与popen开销比较
- popen的用法及与system调用的区别
- popen的用法及与system调用的区别
- popen的用法及与system调用的区别
- C语言中 使用popen函数向linux系统发送shell命令
- Linux c的popen()
- Linux下C语言使用popen获取一个文件的内容小实例
- linux下C和shell调用的popen函数
- linux下C和shell调用的popen函数
- linux下C和shell调用的popen函数
- linux下C和shell调用的popen函数
- linux中popen() 函数与system () 详解
- Linux下system与popen函数
- C语言实现unix系统调用system
- Linux C popen使用方式
- 电脑死机,虚拟机里面的系统开不了
- COM创建对象方法
- AD软件使用技巧和PCB制作技巧
- 谈谈淘宝开店
- Android绘制矩形参数说明
- linux c语言 system系统调用与popen的使用
- UVA 10137(截取精度)和UVA11300(中位数)
- 解决WordPress无法收到邮件评论回复问题
- 湖南11岁程序员很猛,要逆天的节奏
- 【SDOI2008】【BZOJ】【P2190】【仪仗队】【题解】
- Android Rect和RectF的区别
- Spring中Quartz的配置
- Apache异常:在一个非套接字上尝试了一个操作
- 处理VC开发的webservice在C#.NET中中文乱码问题