linux中nohup写操作与程序中读操作冲突引起cpu占用100%
程序主线程为了挂起,采用了while(1) {fscanf读取输入数字,若为0,则退出;};之后程序采用nohup后台运行,发现cpu占用100%,而程序在shell下运行,则cpu近乎0占用。原因:fscanf 的读操作等待 与nohup的 写操作会冲突(机制尚不明确),导致cpu占用100%。措施:采用sleep的方式挂起,问题解
·
程序主线程为了挂起,采用了
while(1) {
fscanf读取输入数字,若为0,则退出;
};
之后程序采用nohup后台运行,发现cpu占用100%,而程序在shell下运行,则cpu近乎0占用。
原因:
fscanf 的读操作等待 与nohup的 写操作会冲突(机制尚不明确),导致cpu占用100%。
措施:
采用sleep的方式挂起,问题解决。
更多推荐
所有评论(0)