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


12

我已在基于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 ...

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

Answers:


16

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

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

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

sudo update-rc.d <service> enable

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

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

或类似的东西。


它对我不起作用,但是对我有用。由于某种原因,enable不在/ etc / rc中创建文件
。– deFreitas

你收到错误了吗?尝试“ sudo update-rc.d <服务>默认值”
erny

不,我跑了,然后它什么也不做,没有输出
deFreitas

Debian 9 x64以root用户
身份

Debian在该版本中有一个特定的问题,我之前已经尝试过,并且至少可以在Ubuntu中使用
deFreitas

1

在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

在Raspbian Buster(v10)上!/bin/sh必须出现在BEGIN INIT INFO块之前。
R01k '19
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.