你說的“執(zhí)行60秒”是什么意思?這個(gè)命令一直不返回?60秒后停止它?還是執(zhí)行后就返回了,60秒后再執(zhí)行下一個(gè)?
創(chuàng)新互聯(lián)公司專注于青原企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站制作。青原網(wǎng)站建設(shè)公司,為青原等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
用crond可以實(shí)現(xiàn)你說的60秒,但靈活性不夠?;蛘哂胹hell腳本,比較靈活。
假設(shè)你的命令是死循環(huán),可以像下面這樣(如想一直循環(huán),[ ?]內(nèi)直接寫1,注意兩邊要有空格)
#!/bin/bash
count=0
while?[?$count?-lt?10?];?do
cmd1??
pid1=$!
sleep?60
echo?$count
kill?-9?pid1
cmd2?
pid2=$!
sleep?60
kill?-9?$pid2
let?"count++"
done
一次執(zhí)行多個(gè)命令可以將多個(gè)命令用英文分號(hào)分割,比如像這樣:
mkdir /tmp/mydir; touch /tmp/mydir/myfile
其實(shí)這樣也不能算是同時(shí)執(zhí)行,Linux的命令是順序執(zhí)行的,就算是shell腳本,里面寫了一大堆命令,同樣也順序執(zhí)行的。如果前一個(gè)命令執(zhí)行的時(shí)間比較長(zhǎng),后面的命令就只有等待了。如果命令執(zhí)行時(shí)間比較長(zhǎng),又想讓命令同時(shí)執(zhí)行,恐怕只能打開多個(gè)虛擬終端才行(右鍵虛擬終端界面,選擇“打開標(biāo)簽”),打開多個(gè)登錄的虛擬終端其實(shí)是運(yùn)行了多個(gè)“會(huì)話”,多個(gè)“會(huì)話”中的命令才是“同時(shí)”執(zhí)行。
(run1.sh?)?;?(run2.sh?)?;?(run3.sh)
如果還有繼續(xù)加