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;
}