popen通过fork子进程执行命令
若有多条shell命令需要执行,而且命令之间有关系,不能通过多个popen执行,因为会在不同进程下执行,可以通过; && || 在同一个popen里面 执行
#include <stdio.h>
int main(int argc, char *argv[])
{
char buf[128];
FILE *pp;
if((pp = popen("dbtool -gtm -state", "r")) == NULL )
{
printf("popen() error!\n");
}
while(fgets(buf, sizeof(buf), pp))//最多读取一行
{
printf("%s", buf);
}
pclose(pp);
return 0;
}
本文介绍如何利用popen函数在C程序中执行Shell命令,并通过示例代码展示了如何读取命令输出。特别关注了当需要执行多条相关联的Shell命令时,如何通过在单个popen调用中使用分号、与及或操作符来实现。
5100

被折叠的 条评论
为什么被折叠?



