我有一个守护进程,如果我使用以下service
命令手动启动它,它可以正常运行:
ricardo@ricardo-laptop:~$ sudo service minidlna start
* Starting minidlna minidlna [ OK ]
但它没有配置为在电脑重启时自动启动。
如何配置它以使其自动启动,即使没有人登录到电脑?
答案1
在现代 Ubuntu 系统(15.10 及以上版本)上:
sudo systemctl enable minidlna.service
在 15.10 之前的 Ubuntu 版本上:
sudo update-rc.d minidlna defaults
如果得到System start/stop links for /etc/init.d/minidlna already exist.
,则运行以下命令:
sudo update-rc.d minidlna enable
有关详细信息,请通过输入命令查看 update-rc.d 的手册页man update-rc.d
答案2
自从Ubuntu 15.10 及更高版本(分别为 Debian 8“jessie”及更新版本),您必须使用以下命令来配置您的服务minidlna
以在启动时运行:
sudo systemctl enable minidlna.service
并再次禁用它在启动时启动:
sudo systemctl disable minidlna.service
这适用于系统上所有可用的服务名称。要查找可用的服务名称,只需列出服务文件的文件名:
ls /lib/systemd/system/*.service
ls /etc/systemd/system/*.service
答案3
要在启动时启动守护程序:
update-rc.d service_name defaults
去除:
update-rc.d -f service_name remove
defaults => 默认运行级别 2、3、4 和 5
例子:
update-rc.d tomcat7 defaults
答案4
在 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