linux随机自启命令,linux设置开机自启动
一.、在/etc/rc.local文件中添加自啟動(dòng)命令
執(zhí)行命令: 編輯"/etc/rc.local",添加你想開機(jī)運(yùn)行的命令
運(yùn)行程序腳本:然后在文件最后一行添加要執(zhí)行程序的全路徑。
例如,每次開機(jī)時(shí)要執(zhí)行一個(gè)hello.sh,這個(gè)腳本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh "
注意,你的命令應(yīng)該添加在:exit 0 之前
二、在/etc/init.d目錄下添加自啟動(dòng)腳本
linux在“/etc/rc.d/init.d”下有很多的文件,每個(gè)文件都是可以看到內(nèi)容的,其實(shí)都是一些shell腳本或者可執(zhí)行二進(jìn)制文件
Linux開機(jī)的時(shí)候,會(huì)加載運(yùn)行/etc/init.d目錄下的程序,因此我們可以把想要自動(dòng)運(yùn)行的腳本放到這個(gè)目錄下即可。系統(tǒng)服務(wù)的啟動(dòng)就是通過這種方式實(shí)現(xiàn)的。
三、運(yùn)行級(jí)別設(shè)置
簡單的說,運(yùn)行級(jí)就是操作系統(tǒng)當(dāng)前正在運(yùn)行的功能級(jí)別。
不同的運(yùn)行級(jí)定義如下:
# 0 - 停機(jī)(千萬不能把initdefault 設(shè)置為0 )
# 1 - 單用戶模式 進(jìn)入方法#init s = init 1
# 2 - 多用戶,沒有 NFS
# 3 - 完全多用戶模式(標(biāo)準(zhǔn)的運(yùn)行級(jí))
# 4 - 沒有用到
# 5 - X11 多用戶圖形模式(xwindow)
# 6 - 重新啟動(dòng) (千萬不要把initdefault 設(shè)置為6 )
例:在Ubuntu/debain里,可以使用update-rc.d命令來把示例腳本:/etc/init.d/proxy安裝到各個(gè)runlevel中。
update-rc.d proxy defaults 99
update-rc.d后面有三個(gè)參數(shù),分別是/etc/init.d下的腳本名字,默認(rèn)安裝方式,運(yùn)行的優(yōu)先級(jí)。優(yōu)先級(jí)的數(shù)字越大,表示越遲運(yùn)行,這里我們把自己寫的服務(wù)放在最后運(yùn)行。
如果要卸載隨機(jī)啟動(dòng)的服務(wù),執(zhí)行
update-rc.d -f proxy remove
在update-rc.d安裝的時(shí)候提示了警告信息,是因?yàn)槲覀儗懙?etc/init.d/proxy太簡陋了,只包含了我們想要的命令,連LSB的信息也沒有提供。
update-rc.d: warning: /etc/init.d/proxy missing LSB information
update-rc.d: see
只需要對(duì)自啟動(dòng)腳本做一些小改動(dòng),就可以避免那個(gè)警告了。如下:
#!/bin/sh
### BEGIN INIT INFO
# Provides: proxy
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start or stop the HTTP Proxy.
### END INIT INFO
case "$1" in
start)
start-stop-daemon --start --background --exec /root/proxy.py
;;
stop)
start-stop-daemon --stop --name proxy.py
esac
到此,一個(gè)最簡單的隨機(jī)啟動(dòng)服務(wù)寫好了,看起來文章挺長的,但其實(shí)也就幾個(gè)命令而已。
在下次開機(jī)啟動(dòng)的時(shí)候,proxy.py就會(huì)以root用戶身份被自動(dòng)運(yùn)行。
四、把腳本注冊(cè)為系統(tǒng)服務(wù)
在/etc/init.d下新建示例腳本文件(startTest.sh),該腳本會(huì)啟動(dòng)/opt/test.sh。內(nèi)容如下:
. /etc/init.d/functions
start() {
echo "Starting my process "
cd /opt
./test.sh
}
stop() {
killall test.sh
echo "Stoped"
}
寫了腳本文件之后事情還沒有完,繼續(xù)完成以下幾個(gè)步驟:
chmod +x startTest #增加執(zhí)行權(quán)限
chkconfig --add startTest #把startTest添加到系統(tǒng)服務(wù)列表
chkconfig startTest on #設(shè)定startTest的開關(guān)(on/off)
chkconfig --list startTest.sh #就可以看到已經(jīng)注冊(cè)了startTest的服務(wù)
總結(jié)
以上是生活随笔為你收集整理的linux随机自启命令,linux设置开机自启动的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux如何进入微服务看日志,Linu
- 下一篇: linux修复u盘文件系统,linux下