Linux開(kāi)機(jī)自啟動(dòng)在項(xiàng)目中應(yīng)用很常見(jiàn),突然停電或者故障,程序總歸要關(guān)掉的,如果手動(dòng)去啟動(dòng)程序,比較麻煩,所以開(kāi)機(jī)自啟動(dòng)是非常重要的一環(huán)。??在Debian或者Ubuntu中,開(kāi)機(jī)之后會(huì)調(diào)用一個(gè)腳本文件:/e...
Linux開(kāi)機(jī)自啟動(dòng)在項(xiàng)目中應(yīng)用很常見(jiàn),突然停電或者故障,程序總歸要關(guān)掉的,如果手動(dòng)去啟動(dòng)程序,比較麻煩,所以開(kāi)機(jī)自啟動(dòng)是非常重要的一環(huán)。
??在Debian或者Ubuntu中,開(kāi)機(jī)之后會(huì)調(diào)用一個(gè)腳本文件:/etc/rc.local,所以在這個(gè)文件中寫(xiě)好要啟動(dòng)的程序即可。Debian linux發(fā)行版系統(tǒng)現(xiàn)在可能沒(méi)有rc.local文件了,不過(guò)沒(méi)有關(guān)系,直接在/etc文件下新建一個(gè)rc.local文件即可,開(kāi)機(jī)就會(huì)運(yùn)行該程序。
??所以只要在該文件中直接啟動(dòng)你的程序即可,或者也可以啟動(dòng)一個(gè)腳本文件(.sh),在這個(gè)腳本文件中啟動(dòng)要啟動(dòng)的程序,下面就是rc.local文件內(nèi)容的實(shí)例。
#!/bin/bash -e
location="/home/debian" #腳本路徑
cd $location
$location/rc.sh
$location/run.sh
exit 0
1
2
3
4
5
6
??上面的rc.local文件中就另行啟動(dòng)了腳本文件(rc.sh)來(lái)運(yùn)行自己的程序,以下就是rc.sh的內(nèi)容,啟動(dòng)gateway程序。
#!/bin/sh
location=/home/debian/gateway20191211
echo $location
cd $location
find $location/log -mtime +7 -type f |xargs rm -f
out=$(date "+%Y-%m-%d")".txt"
pwd
$location/gateway >> $location/log/$out
1
2
3
4
5
6
7
8
9
??細(xì)心的朋友可能還發(fā)現(xiàn)其實(shí)上面rc.local運(yùn)行了兩個(gè)腳本,但是實(shí)際運(yùn)行過(guò)程中只啟動(dòng)了第一個(gè),這是因?yàn)榈谝粋€(gè)程序運(yùn)行還沒(méi)有結(jié)束,就不會(huì)運(yùn)行第二個(gè)程序,所以這樣基本上就不會(huì)個(gè)程序同時(shí)啟動(dòng)。
??如果要同時(shí)啟動(dòng)兩個(gè)程序,則需要這樣來(lái)寫(xiě)腳本文件,將兩個(gè)腳本文件相與。
#!/bin/bash -e
location="/home/debian" #腳本路徑
cd $location
$location/run.sh & $location/GetPID.sh
exit 0
1
2
3
4
5
??此外如果還需要設(shè)計(jì)一個(gè)進(jìn)程看門(mén)狗,監(jiān)控該程序是否運(yùn)行,則可以這樣來(lái)寫(xiě)腳本:(先獲取進(jìn)程PID,然后再監(jiān)控該P(yáng)ID是否存在)
#!/bin/bash
while true
do
process=gateway #監(jiān)控的程序運(yùn)行名
pid=$(ps -ef|grep $process |grep '/home/debian' | grep -v grep |awk '{print $2}')
echo $pid
if [ $pid -ne 0 ]
then #如果程序PID在,則程序在運(yùn)行
echo `date`
echo “pid is exitable!”
else #否則程序沒(méi)有運(yùn)行,需要啟動(dòng)程序 啟動(dòng)的程序在run.sh文中。
echo `date`
echo "pid isnot exitable!"
sudo sh run.sh >> $(date "+%Y-%m-%d")".txt"
fi
sleep 15s
done
exit 0
該腳本一開(kāi)機(jī)就運(yùn)行,監(jiān)控程序PID,如果發(fā)現(xiàn)沒(méi)有,立即啟動(dòng),15s檢查一次。
————————————————
版權(quán)聲明:本文為CSDN博主「張一西」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_34430371/article/details/104471701
來(lái)源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺(tái),并已注明來(lái)源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請(qǐng)聯(lián)系小編,我們會(huì)及時(shí)審核處理。
聲明:江蘇教育黃頁(yè)對(duì)文中觀點(diǎn)保持中立,對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或者完整性不提供任何明示或暗示的保證,不對(duì)文章觀點(diǎn)負(fù)責(zé),僅作分享之用,文章版權(quán)及插圖屬于原作者。
Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢(xún)平臺(tái)保留所有權(quán)利
蘇公網(wǎng)安備32010402000125
蘇ICP備14051488號(hào)-3技術(shù)支持:南京博盛藍(lán)睿網(wǎng)絡(luò)科技有限公司
南京思必達(dá)教育科技有限公司版權(quán)所有 百度統(tǒng)計(jì)