sleep把程序的執行狀態改為睡眠,將其從系統可執行佇列去掉,這樣系統就不會排程到該程序,不會分配cpu時間片。同時根據該程序的睡眠時間,將程序掛入相應的定時器佇列中。
同時核心維持乙個定時器佇列,每一次時鐘中斷處理,都把當前到期的佇列中的程序喚醒,加入到可執行程序佇列中。 同時對所有掛入定時器佇列中的程序時間值減1,
clock_t start=clock();
sleep(5);
clock_t end=clock();
float time=(float)(end-start)/clocks_per_sec;
printf("sleep clock:%f\n",time);
首先獲取當前系統滴答數a,然後再加上需要sleep的時長結合cpu時鐘頻率計算得到的滴答數b。再來乙個while迴圈,迴圈體中不停獲取當前滴答數,大於(a+b)時跳出迴圈,函式返回。 linux sleep命令學習
用途說明 sleep命令常用於在linux shell指令碼中延遲時間。常用方式 注意 以下用法中可以為小數。格式 sleep 格式 sleep s 延遲秒。格式 sleep m 延遲分鐘。延遲5秒 root localhost etc sleep 5 延遲1分鐘 root localhost et...
linux sleep命令的用法
001 示例 root pc1 home test2 date date命令顯示當前日期 2022年 05月 04日 星期三 08 10 15 cstroot pc1 home test2 date sleep 10 date 兩側date命令之間延遲10秒鐘 2022年 05月 04日 星期三 0...
Linux sleep 延遲指定時間
用途說明 sleep命令常用於在shell指令碼中延遲時間。常用方式 注意 以下用法中 可以為小數。格式 sleep 格式 sleep s 延遲秒。格式 sleep m 延遲分鐘。格式 sleep h 延遲小時。格式 sleep d 延遲天。使用示例 示例一 root jfht date sleep...