update-rc.d 忽略序號

update-rc.d 忽略序號

我正在嘗試設定我的系統,以便 emacs 守護程式在機器啟動後啟動。我已經使用要執行的命令建立了檔案 /etc/init.d,但是當執行 update-rc.d 時,它會忽略我提供的序號。

[host /etc/init.d]$ sudo update-rc.d -n emacs defaults 10 02
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc0.d/K01emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc1.d/K01emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc2.d/S02emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc3.d/S02emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc4.d/S02emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc5.d/S02emacs
insserv: enable service ../init.d/emacs -> /etc/init.d/../rc6.d/K01emacs
insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop
[host /etc/init.d]$ 

我很困惑為什麼命令的最後兩個參數被忽略,以及我是否可以忽略我將起始序號設定為如此低的值。

答案1

update-rc.d defaults不處理任何其他參數;它使用來自 init 腳本的信息LSB 標頭確定要使用的優先權(序號),並決定在哪些運作等級中啟動和停止服務。

如果您的腳本僅依賴於$local_fs,那麼它最終的序號較低是正常的;如果您查看,/etc/rc2.d您會看到很多序號較低的起始連結。如果您的腳本沒有指定自己的運行級別,請使用預設值:從級別 2-5 開始,在級別 0、1 和 6 停止。

### BEGIN INIT INFO
# Provides: emacs
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop the Emacs daemon
### END INIT INFO

(根據需要調整各種值)。

您也可以使用update-rc.d enableupdate-rc.d disable分別啟用和停用特定運行等級中的腳本(例如 update-rc.d emacs disable 3)。

相關內容