本文介绍/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]
这里的COMMAND
和OPTIONS
作为参数传递给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
操作一般用在软件包删除的时候,清理所有的脚本和连接。