函数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() 函数执行系统命令的方法,它是一个易用的函数,因此受到了广泛的使用。虽然它的实现过程比较复杂,但如果可以认真阅读其函数说明,就能够掌握使用它的技巧,运用它开发出一些有用的功能。


数据运维技术 » 函数Linux下使用popen函数执行系统命令(linuxpopen)