“睡眠”是基于系统时钟还是经过的时间?

“睡眠”是基于系统时钟还是经过的时间?

“睡眠”是基于系统时钟还是经过的时间?

例如,如果您执行:

sleep 1200

并立即暂停你的系统10分钟,它会在另外10分钟后结束,还是会继续等待整整20分钟?

答案1

嗯,我想测试起来很容易。开始 5 分钟睡眠后,我将系统暂停了大约 2 分钟。答案?

睡眠是使用进程的经过时间而不是时钟时间来计算的。

date; sleep 300; date
Tue Jul  2 20:58:41 EDT 2019
Tue Jul  2 21:05:28 EDT 2019

这可能是可以预见的,因为 man sleep(3) 说:

系统活动可能会无限延长睡眠时间。

这意味着睡眠过程内部的时间量。

相关内容