想实时监视系统信息,用popen+ top 完成。
发现代码在ubuntu下运行正常,而在arm上一运行,就挂死了。
而运行ls则不会挂死,比较两个的不同,发现ls是运行一次,而top是一直运行的。
于是修改top命令,改为只执行一次,得到解决
<span style="white-space:pre"> </span>/* 获得SOC负载信息 */
TopFP = popen("top -n 1", "r");
if(NULL != TopFP)
{
fgets(topline[0], 256, TopFP);
fgets(topline[1], 256, TopFP);
pclose(TopFP);
}
else
{
printf("top command is invalid!\n");
}