pclose上的应用程序崩溃

问题描述:

我有一个应用程序使用popen解析命令行的输出。但是,在Android上进行测试时,它在pclose上崩溃:为什么?当其他的Unix环境中测试我有没有错误...pclose上的应用程序崩溃

char commandLine[256] = "ps -A | grep -c myApplication"; 

FILE * fPipe = popen(commandLine, "r"); 

if (fPipe == NULL) 
    return 0; 

int count = -1; 
fscanf(fPipe, "%d", &count); 

///If here I print count, I get zero, which is correct... 

pclose(fPipe); ///Here it crashes! 

return count; 

更新:看来,使用popen导致我的应用程序反正崩溃,在以后的阶段,如果这样调用杀死我的应用程序。

+0

http://*.com/questions/5431941/while-feof-file-is-always-wrong – Gopi 2015-03-02 17:21:21

+0

@戈皮感谢您的提示,请检查更新... – Antonio 2015-03-02 18:06:24

popen uses fork显然shouldn't be used in Android。要查看哪些进程正在运行,可能唯一安全的方法是检查/proc目录。更多阅读:popen on android NDK