Linux

“睡眠”是基於系統時鐘還是經過時間?

  • July 3, 2019

“睡眠”是基於系統時鐘還是經過時間?

例如,如果您執行:

sleep 1200

並立即暫停您的系統 10 分鐘,它會在另一個 10 分鐘後結束,還是會繼續等待整整 20 分鐘?

好吧,我想這很容易測試。啟動 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) 說:

系統活動可能會以不確定的量延長睡眠時間。

哪種暗示時間量是睡眠過程的內部時間。

引用自:https://unix.stackexchange.com/questions/528096