MAC OS下反复调用popen 以及pclose会失败?
要做到是这样,需要在程序中多次调用shell命令并获得输出,我用的 popen机制,判断打开非空时用fgets来获得输出值,如
FILE *pp = NULL;
char str[MAX_LEN];
pp = popen("vm_stat", "r");
if(pp != NULL)
{
if(fgets(str, sizeof(str), pp)) .........
}
在运行的时候发现,popen都是非空的,但是对于同样的命令,fgets有时候成功有时候失败,如果直接执行,大部分时间是失败的,但是如果在fgets附近加个断点,然后不做任何事再continue,则fgets成功并能正确输出,感觉好像是运行太快需要减慢速度似的!
有哪位大侠有什么方法解决吗?小女在此多谢!