启动时启动的服务不适用于 update-rc.d 命令

use*_*624 12 startup ubuntu upstart

我已经在基于 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.
Run Code Online (Sandbox Code Playgroud)

另外,有一些服务我不想开机就启动,所以我尝试了:

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 ...
Run Code Online (Sandbox Code Playgroud)

但是下次重新启动时,我仍然看到该服务在启动时运行。

小智 16

要删除服务,您必须使用-f参数:

sudo update-rc.d -f <service> remove
Run Code Online (Sandbox Code Playgroud)

要在启动时配置启动,请尝试:

sudo update-rc.d <service> enable
Run Code Online (Sandbox Code Playgroud)

查看是否创建了以下符号链接:

/etc/rc.2d/S20<service>
Run Code Online (Sandbox Code Playgroud)

或类似的东西。


小智 0

不得不承认这一切在 Raspberry Pi (Debian 10) 上都不起作用。如果我想坚持使用旧的 /etc/init.d/my_script 位置,我需要执行以下操作。

# runlevel
N 5
# cd /etc/rc5.d
# ln -s ../init.d/my_script S40my_script


(probably should be done for other runlevels as well)
# ls /etc/rc5.d/ | grep my_script
S40my_script
Run Code Online (Sandbox Code Playgroud)