Linux 設定開機自啟動

2021-09-03 07:38:12 字數 2310 閱讀 5440

執行命令: 編輯"/etc/rc.local",新增你想開機執行的命令

執行程式指令碼:然後在檔案最後一行新增要執行程式的全路徑。

例如,每次開機時要執行乙個hello.sh,這個指令碼放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh "

注意,你的命令應該新增在:exit 0 之前

linux在「/etc/rc.d/init.d」下有很多的檔案,每個檔案都是可以看到內容的,其實都是一些shell指令碼或者可執行二進位制檔案

linux開機的時候,會載入執行/etc/init.d目錄下的程式,因此我們可以把想要自動執行的指令碼放到這個目錄下即可。系統服務的啟動就是通過這種方式實現的。

簡單的說,執行級就是作業系統當前正在執行的功能級別。

不同的執行級定義如下:

# 0 - 停機(千萬不能把initdefault 設定為0 )

# 1 - 單使用者模式   進入方法#init s = init 1

# 2 - 多使用者,沒有 nfs

# 3 - 完全多使用者模式(標準的執行級)

# 4 - 沒有用到

# 5 - x11 多使用者圖形模式(xwindow)

# 6 - 重新啟動 (千萬不要把initdefault 設定為6 )

例:在ubuntu/debain裡,可以使用update-rc.d命令來把示例指令碼:/etc/init.d/proxy安裝到各個runlevel中。

update-rc.d proxy defaults 99

update-rc.d後面有三個引數,分別是/etc/init.d下的指令碼名字,預設安裝方式,執行的優先順序。優先順序的數字越大,表示越遲執行,這裡我們把自己寫的服務放在最後執行。

如果要解除安裝隨機啟動的服務,執行

update-rc.d -f proxy remove

在update-rc.d安裝的時候提示了警告資訊,是因為我們寫的/etc/init.d/proxy太簡陋了,只包含了我們想要的命令,連lsb的資訊也沒有提供。

update-rc.d: warning: /etc/init.d/proxy missing lsb information

update-rc.d: see //

wiki.debian.org/lsbinitscripts>

只需要對自啟動指令碼做一些小改動,就可以避免那個警告了。如下:

到此,乙個最簡單的隨機啟動服務寫好了,看起來文章挺長的,但其實也就幾個命令而已。

在下次開機啟動的時候,proxy.py就會以root使用者身份被自動執行。

在/etc/init.d下新建示例指令碼檔案(starttest.sh),該指令碼會啟動/opt/test.sh。內容如下:

. /etc/init.d/functions

start()

stop()

chmod +x starttest         #增加執行許可權

chkconfig --add starttest     #把starttest新增到系統服務列表

chkconfig starttest on       #設定starttest的開關(on/off)

chkconfig --list starttest.sh #就可以看到已經註冊了starttest的服務

Linux設定開機自啟動

執行程式指令碼 然後在檔案最後一行新增要執行程式的全路徑。例如,每次開機時要執行乙個hello.sh,這個指令碼放在 usr下面,那就可以在 etc rc.local 中加一行 usr hello.sh 或者 cd opt hello.sh 注意,你的命令應該新增在 exit 0 之前 linux在...

linux 開機啟動 自啟動 設定

方法一 編輯rc.loacl指令碼 ubuntu開機之後會執行 etc rc.local檔案中的指令碼。所以我們可以直接在 etc rc.local中新增啟動指令碼。vim etc rc.local方法二 新增乙個開機啟動服務 將你的啟動指令碼複製到 etc init.d目錄下,並設定指令碼許可權,...

Linux 設定mysql開機自啟動

1 確認 etc init.d mysql檔案是否存在 如果不存在則去mysql安裝檔案中複製乙個 cp usr local mysql support files mysql.server etc init.d mysql2 賦予可執行許可權 chmod x etc init.d mysql3 新...