摘要:Linux Ubuntu 設定開機後執行服務
剛好遇到這個問題,但網路上的解,錯誤百出(到底有沒有實際run 過呀~~)
因此在這裡寫下小弟的小小心得
要在 /etc/init.d資料下撰寫一個shell script檔,去執行你要執行的指令
我用shell script去啟動另一個shell script,並且執行java程式,以達到開機時,啟動程式。
假設我在/etc/init.d下,擺放run_start.sh
run_start.sh 的檔案內容如下
===============================
#! /bin/sh
sh /var/java/checker.sh
===============================
而檔案擺好之後,
要去下指令,才能夠奏效。
則需要下
sudo update-rc.d run_start.sh defaults 99 1
而網路上文章,將defaults寫成為default,或忘記defaults 後面的 99 1
如果出錯了就會出現以下的文字內容
usage: update-rc.d [-n] [-f] <basename> remove
update-rc.d [-n] <basename> defaults [NN | SS KK]
update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
-n: not really
-f: force
update-rc.d [-n] <basename> defaults [NN | SS KK]
update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] .
update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
-n: not really
-f: force
可見,他已經教你如何去下指令了。
而因為之前可能下錯,而導致不能再下指令的可能性。
所以先移除原本的,再重新下指令
執行
sudo update-rc.d -f run_start.sh remove
而重開機測試,結果還是沒執行,為什麼
網路文章又教錯你的另一件事,就是剛剛那個run_start.sh,必須設為執行檔,才有效果。
若為執行檔,他的檔案會顯示為綠色,若為捷徑,則為藍色。
因此,將run_start.sh ,設為可執行檔
則下以下指令
sudo chmod +x /etc/init.d/run_start.sh*
接著重開機做測試
使用
sudo reboot
開機後,登入,檢查程式是否有執行到。
則下
ps -ef
來檢查程式是否執行