Ubuntu Service

ubuntu service control

Posted by Randle on January 17, 2020

本文介绍/etc/init.d下服务的查询和控制。init.d文件夹内的可执行文件,都是一种服务,建立到/etc/rc{RUNLEVEL}.d/的软连接,即可实现开机自启动。

以下命令详见:

1
2
man service(8)
man update-rc.d(8)

很详细。

Service 控制

查看所有服务状态:

1
service --status-all

给服务传递参数:

1
service SCRIPT COMMAND [OPTIONS]

这里的COMMANDOPTIONS作为参数传递给SCRIPT,常见的COMMAND有:

  • start
  • stop
  • restart

这里的COMMAND对应的执行逻辑,是由service自身决定的,service可以按照捕获参数的方式,捕获到这个COMMAND,决定执行逻辑。

Service 配置

可以通过建立软连接的方式配置一个服务自启动,删除软连接取消自启动。也可以通过update-rc.d实现服务配置。

下面的SERVICE_NAME,指的是/etc/init.d/SERVICE_NAME对应的可执行文件。要配置一个自启动服务,首先要在/etc/init.d中有可执行入口。

自启动

1
update-rc.d SERVICE_NAME defaults

取消自启动

标记服务不再自启动,并不删除软连接。

1
update-rc.d SERVICE_NAME disable

恢复自启动

1
update-rc.d SERVICE_NAME disable

disable的逆操作。

移除服务

1
update-rc.d SERVICE_NAME remove

移除所有/etc/rc{RUNLEVEL}.d/目录中对应的软连接,此时,/etc/init.d中对应的脚本应该已删除,否则update-rc.d会放弃此次操作,remove操作一般用在软件包删除的时候,清理所有的脚本和连接。

参考资料