真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux腳本延時(shí)命令 linux shell延時(shí)

Windows的腳本,有暫停指定時(shí)間的命令嗎?比如Linux下有sleep命令,可以讓腳本停止幾秒后繼續(xù)執(zhí)行。

VBS腳本中可以這樣:

成都創(chuàng)新互聯(lián)公司主營(yíng)屏邊網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App定制開(kāi)發(fā),屏邊h5成都小程序開(kāi)發(fā)搭建,屏邊網(wǎng)站營(yíng)銷推廣歡迎屏邊等地區(qū)企業(yè)咨詢

WScript.Sleep 3000

時(shí)間單位為毫秒(milliseconds),因此,上面這句就是暫停3秒。

DOS批處理腳本中只能用ping命令來(lái)延時(shí)(這個(gè)時(shí)間是很不精確的)。例如:

@ping 127.0.0.1 -n 2 -w 1000 nul

另外,Windows 2003 Resource Kit 提供了sleep的功能,你可以去微軟網(wǎng)站下載安裝。參見(jiàn)下面的鏈接吧。

linux 延遲任務(wù):45分鐘以后執(zhí)行一段命令

首先你自己應(yīng)該能夠?qū)㈥P(guān)閉“多看”的命令列出,既然這樣的話,你就可以將此寫入一個(gè)腳本!這個(gè)完成后,chmod +x 腳本名 接下來(lái)就可以執(zhí)行:

crontab -e (用來(lái)執(zhí)行定時(shí)任務(wù))

輸入以下內(nèi)容:

*/45 * * * * ./(你的腳本)

就可以沒(méi)45分鐘執(zhí)行一次你的腳本即你的命令;

在linux下,想用sleep函數(shù)實(shí)現(xiàn)延時(shí)五秒,應(yīng)該怎么設(shè)參數(shù)?

使用權(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)橐獙懸欢未a,需要用到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下shell腳本PING命令只要延遲高于100ms就發(fā)送個(gè)郵件

#!/bin/bash

Timeout=0;

Timeout_limit=1;

Timeout_flag=0;

IP="8.8.8.8"

while [ 1 ]

do

# 取平均延遲的整數(shù)位

Timeout="`ping $IP -c 3 | grep 'min/avg/max/mdev'|awk '{print $4}'|cut -b '7'`"

if [ $Timeout -ge $Timeout_limit ] amp;amp; [ $Timeout_flag -ne 1 ]; then

echo ping timeout, average delay=$Timeout ms

mail -s 'Ping Delay' 郵箱 lt; ar/log/boot.log

Timeout_flag=1

fi

if [ $Timeout -lt $Timeout_limit ] amp;amp; [ $Timeout_flag -ne 0 ]; then

echo ping recovery, average delay=$Timeout ms

mail -s 'Ping recovery' 郵箱 lt; ar/log/boot.log

Timeout_flag=0

fi

sleep 5

done第三行Timeout_limit值寫錯(cuò)了,應(yīng)該是100哈,代碼提交了不能改了。你這個(gè)不需要把延遲結(jié)果保存在文件的,而是應(yīng)該需要作定時(shí)檢測(cè)的。

linux 中實(shí)現(xiàn)延遲45分鐘后執(zhí)行命令,寫了一段c程序,實(shí)現(xiàn)延遲,接下來(lái),該如何執(zhí)行命令呢,也就是shell

1、system(執(zhí)行shell 命令)

相關(guān)函數(shù) fork,execve,waitpid,popen

表頭文件 #includestdlib.h

定義函數(shù) int system(const char * string);

函數(shù)說(shuō)明 system()會(huì)調(diào)用fork()產(chǎn)生子進(jìn)程,由子進(jìn)程來(lái)調(diào)用/bin/sh-c

string來(lái)執(zhí)行參數(shù)string字符串所代表的命令,此命令執(zhí)行完后隨

即返回原調(diào)用的進(jìn)程。在調(diào)用system()期間SIGCHLD 信號(hào)會(huì)被暫時(shí)

擱置,SIGINT和SIGQUIT 信號(hào)則會(huì)被忽略。

返回值 如果system()在調(diào)用/bin/sh時(shí)失敗則返回127,其他失敗原因返回-

1。若參數(shù)string為空指針(NULL),則返回非零值。如果system()調(diào)

用成功則最后會(huì)返回執(zhí)行shell命令后的返回值,但是此返回值也有

可能為system()調(diào)用/bin/sh失敗所返回的127,因此最好能再檢查

errno 來(lái)確認(rèn)執(zhí)行成功。

附加說(shuō)明 在編寫具有SUID/SGID權(quán)限的程序時(shí)請(qǐng)勿使用system(),system()會(huì)

繼承環(huán)境變量,通過(guò)環(huán)境變量可能會(huì)造成系統(tǒng)安全的問(wèn)題。

例如:

#includestdlib.h

main()

{

system(“l(fā)s -al /etc/passwd /etc/shadow”); //換成./test.sh 可執(zhí)行相關(guān)腳本

}

當(dāng)然也可以用管道或exec函數(shù)族來(lái)調(diào)用shell


分享名稱:linux腳本延時(shí)命令 linux shell延時(shí)
URL地址:http://weahome.cn/article/dooopgj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部