程序主线程为了挂起,采用了

while(1) {
    fscanf读取输入数字,若为0,则退出;
};

之后程序采用nohup后台运行,发现cpu占用100%,而程序在shell下运行,则cpu近乎0占用。


原因:

fscanf 的读操作等待 与nohup的 写操作会冲突(机制尚不明确),导致cpu占用100%。

措施:

采用sleep的方式挂起,问题解决。

Logo

更多推荐