
我建立了 LSB 格式的 init 腳本,並將其複製到 /etc/init.d 目錄。我可以手動啟動、停止、狀態服務,一切正常。然後,我嘗試透過執行以下操作將服務設定為以運行等級自動停止/啟動:
update-rc.d service defaults
我看到如下警告:
update-rc.d:警告:xxx 啟動運行等級參數(無)與 lsb 預設啟動值 (3 4 5) 不符。
並且 initctl list」沒有顯示我的服務。我需要執行什麼步驟才能使該服務註冊或正確顯示嗎?(我知道在 RedHat 上它是“chkconfig --add xxx),但我對 Ubuntu 不太了解。
答案1
initctl
是 Uubuntu 新貴機制的一部分。initctl list
只顯示新貴工作的狀態。您的腳本確實是 SysV init 腳本。
若要列出 SysV 初始化腳本的狀態,請使用下列命令:
service --status-all
您的服務應該列在那裡。
要在/etc/rcN
資料夾中建立鏈接,請使用以下命令:
update-rc.d your_init_script defaults
從手冊頁update-rc.d
:
如果使用預設值,則 update-rc.d 將建立連結以在執行等級 2345 中啟動服務並在執行等級 016 中停止服務。