如果系统中只有一个正在运行的应用程序(并且默认为100个休眠进程),并且它执行阻塞系统调用(我对阻止recv或阻塞读取感兴趣)。 linux内核会从task_t *current
指针中删除此应用程序吗?
答案 0 :(得分:0)
你问正在运行的应用程序是否会睡眠?
如果有数据满足读取,则它不会休眠 - 内核会将排队的数据复制到缓冲区并从系统调用返回。如果没有等待数据,则该过程将休眠。这不依赖于系统上其他进程的状态。如果所有进程都处于休眠状态,内核将执行一些有用的操作,例如将CPU置于低功耗状态,直到发生中断,这可能意味着您的进程正在等待的数据现在可用。