Ubuntu

啟動時啟動的服務不適用於 update-rc.d 命令

  • June 8, 2021

我已經在基於 Ubuntu 的伺服器上安裝了 redis 伺服器,所以我可以啟動/停止/重啟 redis 伺服器。redis_server.sh 已經在 /etc/init.d 中。

現在我想讓redis在啟動時啟動。我從一個網站了解到,通過使用 update_rc.d 命令,我可以在啟動時添加/刪除服務。

我嘗試了 update-rc.d 在啟動時添加啟動,但不起作用:

root@ip-172-31-4-108:/etc/init.d# update-rc.d redis-server defaults
//System start/stop links for /etc/init.d/redis-server already exist.

另外,有一些服務我不想開機啟動,所以我嘗試了:

root@ip-172-31-4-108:/etc/init.d# update-rc.d reids_6379 remove
Removing any system startup links for /etc/init.d/reids_6379 ...

但是下次重新啟動時,我仍然看到該服務在啟動時執行。

要刪除服務,您必須使用以下-f參數:

sudo update-rc.d -f <service> remove

要配置啟動時啟動,請嘗試:

sudo update-rc.d <service> enable

查看是否創建了以下符號連結:

/etc/rc.2d/S20<service>

或類似的東西。

在 ubuntu 版本 18.04 TLS 中,我發現如果啟動腳本中沒有特定的註釋塊,update-rc.d 無法正常工作,如下所示:

### BEGIN INIT INFO
# Provides: myprogram
# Required-Start: $ local_fs $ remote_fs $ syslog $ network $ time
# Required-Stop: $ local_fs $ remote_fs $ syslog $ network
# Default-start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: myprogram some description
### END INIT INFO

引用自:https://unix.stackexchange.com/questions/102918