開心生活站

位置:首頁 > IT科技 > 

linux,sleep命令

IT科技3.19W

1、sleep命令功能:

Linux系統下sleep命令可以用來將目前動作延遲一段時間。

2、使用權限

所有使用者。

3、語法:

sleep [--help] [--version] number[smhd]

4、參數說明:

--help : 顯示輔助訊息

--version : 顯示版本編號

number : 時間長度,後面可接 s、m、h 或 d

其中 s 爲秒,m 爲 分鐘,h 爲小時,d 爲日數

例如:

休眠5分鐘

# sleep 5m

5、sleep命令更多應用於shell腳本編程裏和程序裏。

如下面的一段程序:

應用程序:

#include <syswait.h>

usleep(n) //n微秒

Sleep(n)//n毫秒

sleep(n)//n秒

驅動程序:

#include <linux/delay.h>

mdelay(n) //milliseconds 其實現

#ifdef notdef

#define mdelay(n) (

{unsigned long msec=(n); while (msec--) udelay(1000);})

#else

#define mdelay(n) (

(__builtin_constant_p(n) && (n)<=MAX_UDELAY_MS) ? udelay((n)*1000) :

({unsigned long msec=(n); while (msec--) udelay(1000);}))

#endif

調用asm/delay.h的udelay,udelay應該是納秒級的延時

Dos: 

sleep(1); //停留1秒 

delay(100); //停留100毫秒   

Windows: 

Sleep(100); //停留100毫秒 

Linux: 

sleep(1); //停留1秒 

usleep(1000); //停留1毫秒 

6、linux下的sleep函數和MFC中的Sleep函數原型區別:

linux下的sleep函數原型爲:

unsigned int sleep(unsigned int seconds);

而MFC中的Sleep函數原型爲:

void Sleep(DWORD dwMilliseconds);

也就是說,Linux下(使用的gcc的庫),sleep()函數是以秒爲單位的,sleep(1);就是休眠1秒。而MFC下的sleep()函數是以微秒爲單位的,sleep(1000);纔是休眠1秒。原來如此啊。而如果在Linux下也用微妙爲單位休眠,可以使用線程休眠函數:void usleep(unsigned long usec);當然,使用的時候別忘記#include <system.h>。

linux sleep命令

標籤:linux 命令 sleep