函数Linux下使用popen函数执行系统命令(linuxpopen)
Linux 系统有许多方法来执行系统命令。如使用指令system(),exec()等等,其中以 popen() 为代表的就是典型的联系系统的函数。
popen() 函数的功能是产生一个进程,并且用一个管道和其他进程进行通信。它使用户可以发出系统指令,并连接这些命令的标准输出和标准错误,从而得到输出结果的处理。popen() 函数的声明如下:
FILE *popen(const char *command, const char *type);
其中 *command是要执行的命令,*type 的值可以是 “r” 或 “w”,其中“r”表示在目前指针位置开始读取,而“w”表示在目前位置开始写入。
popen() 函数以执行命令获取结果的方式格式化一个管道,管道不可逆,打开文件时,注意参数的有效性和可用性,也请注意流的模式,如“r”和“w”。
下面给出一个使用 popen() 函数执行系统命令的示例:
#include
#include
int main ()
{
FILE *fp;
char output[1024];
fp = popen(“/bin/ls”,”r”); // ls列出当前目录下的文件
if(fp == NULL)
{
perror(“popen error”);
exit(1);
}
while(fgets(output, sizeof(output), fp) != NULL) // 持续读取管道中的数据
{
printf(“%s”,output); // 将读取到的数据打印出来
}
pclose(fp); // 关闭管道
return 0;
}
以上就是使用 Linux 使用 popen() 函数执行系统命令的方法,它是一个易用的函数,因此受到了广泛的使用。虽然它的实现过程比较复杂,但如果可以认真阅读其函数说明,就能够掌握使用它的技巧,运用它开发出一些有用的功能。