Linux系统下,一个Services的启动、停止、重启,通常是通过 /etc/init.d/目录下的脚本来控制的。

然而,在启动或改变运行级别时,是在/etc/rcX.d中来搜索脚本。其中X是运行级别的number。

 

本文将解释如何启动、关闭和修改服务的运行。

当你在Debian下安装一个新的服务,比如Apache2,安装完成后,默认情况下它会启动,并在下一次重启后自动启动

但是如果你不是一直需要这个服务,只在需要的时候启用它,你可以禁用它。

直到你需要使用的时候,执行如下指令:

/etc/init.d/apache2 start

要实现这个目的,你需要先在/etc/rcX.d目录中,删除所有apache2的符号链接,但这个方法操作麻烦,且效率低下。

因此,米扑博客建议你使用update-rc.d 命令来实现这个功能。

 

1、删除一个服务

如果你想手动的完全禁用Apache2服务,你需要删除其中的所有在/etc/rcX.d中的单一链路。

但是如果使用update-rc.d,则非常简单: 

update-rc.d -f apache2 remove

参数-f是强制删除符号链接,即使/etc/init.d/apache2仍然存在。

这个命令仅仅禁止该服务,直到该服务被升级。

如果你想在服务升级后仍然保持被禁用,应该执行如下的命令:

update-rc.d apache2 stop 80 0 1 2 3 4 5 6.

 

2、增加一个服务

如果你想重新添加这个服务并让它开机自动执行,你需要执行以下命令: 

update-rc.d apache2 defaults

并且可以指定该服务的启动顺序:

update-rc.d apache2 defaults 90

 

还可以更详细的控制start与kill顺序:

update-rc.d apache2 defaults 20 80

其中前面的20是start时的运行顺序级别,80为kill时的级别。

也可以写成:

update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .

其中0~6为运行级别。

 

update-rc.d命令不仅适用Linux服务,

编写的脚本同样可以用这个命令设为开机自动运行

 

 

参考推荐

Ubuntu 14.04 设置开机启动脚本

Ubuntu rc.local 命令不执行