關(guān)閉電腦休眠功能
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站制作、做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出峰峰礦免費(fèi)做網(wǎng)站回饋大家。
先找到文件/etc/systemd/logind.conf進(jìn)行編輯:
sudo vi /etc/systemd/logind.conf
找到下列條目
#HandleLidSwitch=suspend
改成如下
HandleLidSwitch=ignore
保存退出,重啟系統(tǒng)
有兩種方法:
假設(shè)目標(biāo)為 10ms:
方法1. sleep 0.01
方法2.usleep 10000 (usleep為十的負(fù)六次方秒,詳細(xì)見(jiàn)man usleep)
sleep 30,等待30秒。
建議把sleep命令以及sleep之后的動(dòng)作寫(xiě)在先前那個(gè)命令動(dòng)作后面,同時(shí)放置在后臺(tái)。
linux下的方法:
(1) 使用命令time:
[root@localhost-120 xgf]# time ./standard
counter = 1000000
real 0m0.006s
user 0m0.000s
sys 0m0.000s
time命令對(duì)秒(s)級(jí)別的很精確,而對(duì)毫秒級(jí)的誤差比價(jià)大。我們可以通過(guò)sleep/usleep函數(shù)來(lái)進(jìn)行測(cè)試。sleep(0.1)或者usleep(100)都是表示休眠100ms,而測(cè)試結(jié)果都是:
real 0m0.002s
user 0m0.000s
sys 0m0.000s
(2) 通過(guò)difftime函數(shù):
double difftime(time_t time1, time_t time0);計(jì)算time1和time0之間的秒數(shù)。測(cè)試程序如下:
#include stdio.h
#include time.h
#define MAX 1000
int do_work()
{
int counter = 0; /* the counter */
int i, j; /* the loop variable */
/* accumulate the counter */
for(i = 0; i MAX; i++)
for(j = 0; j MAX; j++)
counter++;
/* return the counter's value */
return counter;
}
int main()
{
time_t start, end;
int val;
start = time(NULL);
do_work();
end = time(NULL);
printf("val = %f/n", difftime(end, start));
return 0;
}
使用權(quán)限 : 所有使用者
使用方式 : sleep [--help] [--version] number[smhd]
說(shuō)明 : sleep 可以用來(lái)將目前動(dòng)作延遲一段時(shí)間
參數(shù)說(shuō)明 :
--help : 顯示輔助訊息
--version : 顯示版本編號(hào)
number : 時(shí)間長(zhǎng)度,后面可接 s、m、h 或 d
其中 s 為秒,m 為 分鐘,h 為小時(shí),d 為日數(shù)
例子 :
顯示目前時(shí)間后延遲 1 分鐘,之后再次顯示時(shí)間 :
date;sleep 1m;date
這個(gè)命令更多應(yīng)用于shell腳本編程里和程序里
如下面的一段程序:
應(yīng)用程序:
復(fù)制代碼
代碼如下:
#include syswait.h
usleep(n) //n微秒
Sleep(n)//n毫秒
sleep(n)//n秒
驅(qū)動(dòng)程序:
#include linux/delay.h
mdelay(n) //milliseconds 其實(shí)現(xiàn)
#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
調(diào)用asm/delay.h的udelay,udelay應(yīng)該是納秒級(jí)的延時(shí)
Dos:
sleep(1); //停留1秒
delay(100); //停留100毫秒
Windows:
Sleep(100); //停留100毫秒
Linux:
sleep(1); //停留1秒
usleep(1000); //停留1毫秒
每一個(gè)平臺(tái)不太一樣,最好自己定義一套跨平臺(tái)的宏進(jìn)行控制
秒還是微秒?關(guān)于延時(shí)函數(shù)sleep()
因?yàn)橐獙?xiě)一段代碼,需要用到sleep()函數(shù),在我印象中,sleep(10)好像是休眠10微秒,結(jié)果卻是休眠了10秒(在Linux下)。覺(jué)得很奇怪,因?yàn)轭^兒也記得好像是微秒為單位的。所以就查了一下。
原來(lái)linux下的sleep函數(shù)原型為:
unsigned int sleep(unsigned int seconds);
而MFC中的Sleep函數(shù)原型為:
void Sleep(DWORD dwMilliseconds);
也就是說(shuō),Linux下(使用的gcc的庫(kù)),sleep()函數(shù)是以秒為單位的,sleep(1);就是休眠1秒。而MFC下的sleep()函數(shù)是以微秒為單位的,sleep(1000);才是休眠1秒。原來(lái)如此啊。而如果在Linux下也用微妙為單位休眠,可以使用線程休眠函數(shù):void usleep(unsigned long usec);當(dāng)然,使用的時(shí)候別忘記#include system.h哦。
另外值得一提的是,linux下還有個(gè)delay()函數(shù),原型為extern void delay(unsigned int msec);它可以延時(shí)msec*4毫秒,也就是如果想延時(shí)一秒鐘的話,可以這么用 delay(250);
分享名稱:linux休眠毫秒命令,linux睡眠1秒
文章網(wǎng)址:http://jinyejixie.com/article26/hsogjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、用戶體驗(yàn)、App開(kāi)發(fā)、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)