讓程序?qū)崿F(xiàn)開機(jī)啟動(dòng)

在Linux系統(tǒng)如何讓程序開機(jī)時(shí)自動(dòng)啟動(dòng)


 ???? 核心提示:系統(tǒng)的服務(wù)在開機(jī)時(shí)一般都可以自動(dòng)啟動(dòng),那在linux系統(tǒng)下如果想要程序在開機(jī)時(shí)自動(dòng)啟動(dòng)怎么辦?我們知道在 windows系統(tǒng)“開始”-->“所有程序”-->“啟動(dòng)”里面放個(gè)快捷方式就行,那Linux系統(tǒng)下呢?...系統(tǒng)的服務(wù)在開機(jī)時(shí)一般都可以自動(dòng)啟動(dòng),那在linux系統(tǒng)下如果想要程序在開機(jī)時(shí)自動(dòng)啟動(dòng)怎么辦?我們知道在?windows系統(tǒng)“開始”-->“所有程序”-->“啟動(dòng)”里面放個(gè)快捷方式就行,那Linux系統(tǒng)下呢?

這也是一個(gè)比較簡單的問題,有不少的方法可以解決,這里介紹三種方法。因?yàn)槭呛唵谓榻B,所以具體細(xì)節(jié)不是很詳細(xì),可以通過man看看相關(guān)手冊。

一、/etc/rc.local

這是一個(gè)最簡單的方法,編輯“/etc/rc.local”,把啟動(dòng)程序的shell命令輸入進(jìn)去即可(要輸入命令的全路徑),類似于windows下的“啟動(dòng)”。

使用命令vi? /etc/rc.local???

然后在文件最后一行添加要執(zhí)行程序的全路徑。

例如,每次開機(jī)時(shí)要執(zhí)行一個(gè)haha.sh,這個(gè)腳本放在/opt下面,那就可以在“/etc/rc.local”中加一行“/opt/./haha.sh”,或者兩行“cd /opt”和“./haha.sh”。

二、crontab(類似于windows的任務(wù)計(jì)劃服務(wù))

通過crontab可以設(shè)定程序的執(zhí)行時(shí)間表,例如讓程序在每天的8點(diǎn),或者每個(gè)星期一的10點(diǎn)執(zhí)行一次。

crontab -l 列出時(shí)間表;

crontab -e編輯時(shí)間表;

crontab -d刪除時(shí)間表;

“-l”沒什么可說的,就是一個(gè)查看而已;

“-e”是編輯,和vi沒什么差別(其實(shí)就是用vi編輯一個(gè)特定文件);

“-d”基本不用,因?yàn)樗言撚脩羲械臅r(shí)間表都刪除了,一般都是用“-e”編輯把不要了的時(shí)間表逐行刪除;

那到底該如何編輯呢?

crontab文件的格式是:M H D m d CMD。

一個(gè)6個(gè)字段,其中最后一個(gè)CMD就是所要執(zhí)行的程序,如haha.sh。

M:分鐘(0-59)

H:小時(shí)(0-23)

D:日期(1-31)

m:月份(1-12)

d:一個(gè)星期中的某天(0-6,0代表周日)

這5個(gè)時(shí)間字段用空格隔開,其值可以是一個(gè)數(shù)字,也可以用逗號(hào)隔開的多個(gè)數(shù)字(或其他) ,如果不需設(shè)置,則默認(rèn)為“*”。

例如,每天的8點(diǎn)5分執(zhí)行haha.sh,就是“5 8 * * * /opt/./haha.sh”。

好像和“開機(jī)程序自動(dòng)啟動(dòng)”扯遠(yuǎn)了,現(xiàn)在回歸正題。其實(shí)上面介紹的crontab的功能已經(jīng)具備了開機(jī)自動(dòng)啟動(dòng)的能力,可以寫一個(gè)監(jiān)測腳本,每5分鐘執(zhí)行一次(*/5 * * * * ./haha.sh),如果程序不在了就重新啟動(dòng)一次。

三、注冊系統(tǒng)服務(wù)

操作系統(tǒng)自帶的服務(wù),如ssh,ftp等等,開機(jī)都是自動(dòng)啟動(dòng)的,我們也可以通過這種方式讓自己開發(fā)的程序提高“身價(jià)”。


比如我想把某個(gè)已經(jīng)安裝了的服務(wù)添加為系統(tǒng)服務(wù),可以執(zhí)行以下命令:

chkconfig --add 服務(wù)名稱 ???(首先,添加為系統(tǒng)服務(wù),注意add前面有兩個(gè)橫杠)


chkconfig -leve 啟動(dòng)級(jí)別 服務(wù)名 on

(說明,3級(jí)別代表在命令行模式啟動(dòng),5級(jí)別代表在圖形界面啟動(dòng),on表示開啟)

?

chkconfig -leve 啟動(dòng)級(jí)別 服務(wù)名 off

(說明,off表示關(guān)閉自啟動(dòng))

?

例如:chkconfig -level 3 mysql on? ?(說明:讓mysql服務(wù)在命令行模式,隨系統(tǒng)啟動(dòng))

也可以使用?? chkconfig --add 服務(wù)名稱??? 來刪除系統(tǒng)服務(wù)

******************************************************************************************

如果要查看哪些服務(wù)被添加為系統(tǒng)服務(wù)可以使用命令 :

?? ntsysv??或者chkconfig --list


如果要查看哪些程序被添加為自啟動(dòng),可以使用命令? :

cat?? /etc/rc.local??(查看這個(gè)文件中添加了哪些程序路徑)

*******************************************************************************************


?下面舉例說說,如何把一個(gè)shell腳本添加為系統(tǒng)服務(wù),并跟隨系統(tǒng)啟動(dòng):

可以看到“/etc/rc.d/init.d”下有很多的文件,每個(gè)文件都是可以看到內(nèi)容的,其實(shí)都是一些shell腳本。

系統(tǒng)服務(wù)的啟動(dòng)就是通過“/etc/rc.d/init.d”中的腳本文件實(shí)現(xiàn)的。我們也可以寫一個(gè)自己的腳本放在這里。

腳本文件的內(nèi)容也很簡單,類似于這個(gè)樣子(例如起個(gè)名字叫做“hahad”):

. /etc/init.d/functions

start() {

echo "Starting my process "

cd /opt

./haha.sh

}

stop() {

killall haha.sh

echo "Stoped"

}

寫了腳本文件之后事情還沒有完,繼續(xù)完成以下幾個(gè)步驟:

chmod +x hahad??????????????????? #增加執(zhí)行權(quán)限

chkconfig --add hahad???????????? #把hahad添加到系統(tǒng)服務(wù)列表

chkconfig hahad on???????????????? #設(shè)定hahad的開關(guān)(on/off)

chkconfig --list hahad?????????????? #就可以看到已經(jīng)注冊了hahad的服務(wù)


注:轉(zhuǎn)載https://www.cnblogs.com/jikexianfeng/p/7602484.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)自:Linux如何實(shí)現(xiàn)開機(jī)啟動(dòng)程序詳解我們假設(shè)大家已經(jīng)熟悉其它操作系統(tǒng)的引導(dǎo)過程,了解硬件的自檢引導(dǎo)步驟,就只從...
    郭之源閱讀 1,804評(píng)論 0 8
  • 系統(tǒng)的服務(wù)在開機(jī)時(shí)一般都可以自動(dòng)啟動(dòng),那我們程序自己寫的程序呢? windows系統(tǒng)在“開始”——〉“所有程序”—...
    MrGago閱讀 8,166評(píng)論 0 3
  • cenos6啟動(dòng)流程 加載BIOS的硬件信息,獲取第一個(gè)啟動(dòng)設(shè)備 讀取第一個(gè)啟動(dòng)設(shè)備MBR的引導(dǎo)加載程序(grub...
    毛利卷卷發(fā)閱讀 1,199評(píng)論 0 1
  • Linux習(xí)慣問題: 在vim編輯時(shí),按了ctrl + s后,再按ctrl + q就可以繼續(xù)執(zhí)行了。ctrl + ...
    光著腳的鞋閱讀 4,685評(píng)論 0 16
  • 初識(shí)趙雷是在《我是歌手》的舞臺(tái)上,短袖牛仔褲一把吉他,不像街頭堅(jiān)持夢想而困于生活的流浪歌手,一副鄰家大哥哥的氣質(zhì)深...
    楊群Nice閱讀 819評(píng)論 0 0

友情鏈接更多精彩內(nèi)容