Linux
“睡眠”是基於系統時鐘還是經過時間?
“睡眠”是基於系統時鐘還是經過時間?
例如,如果您執行:
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) 說:
系統活動可能會以不確定的量延長睡眠時間。
哪種暗示時間量是睡眠過程的內部時間。