popen函数
功能:popen() 函数通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程。
头文件:#include <stdio.h>
函数原型:
FILE *popen(const char *command, const char *type);
int pclose(FILE *stream);
返回值:
如果调用成功返回一个读或者打开文件的指针,如果失败返回NULL,具体错误要根据errno判断。
返回错误:
popen 没有为内存分配失败设置 errno 值。
如果调用 fork或 pipe时出现错误,errno 被设为相应的错误类型。
如果 type 参数不合法,errno将返回EINVAL。
#include <stdio.h>
int main()
{
char ret[1024]={0};
FILE *fp;
fp=popen("ps","r");
int nread=fread(ret,1,1024,fp);
printf("read ret =%d byte,ret=%s\n",nread,ret);
return 0;
}