“睡眠”是基于系统时钟还是经过的时间?
例如,如果您执行:
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) 说:
系统活动可能会无限延长睡眠时间。
这意味着睡眠过程内部的时间量。