Ubuntu服务的启动、停止和重载
Linux服务的启动、停止和重载都是使用/etc/init.d/内的脚本。
在启动过程中或者改变运行级别( runlevel )时,/etc/rcX.d/内的相应的服务脚本被调用(这里的X是 runlevel number)
在Debian中安装新服务时,默认是开机启动的。例如,如果你安装了apache2,Apache服务会在下次开机时自启动。如果你不想Apache开机自启动,你就要自己移除 /etc/rcX.d/SYYapache2 或使用 update-rc.d。而使用update-rc.d的优势很明显,它会自己移除、增加对/etc/init.d/内的链接。
下面以apache2为例,/etc/rcX.d文件如下:1
2
3
4
5
6
7
8# ls -l /etc/rc?.d/*apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc0.d/K91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc1.d/K91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc2.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc3.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc4.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc5.d/S91apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-05 22:51 /etc/rc6.d/K91apache2 -> ../init.d/apache2
对于runlevel 0,1和6链接以K开头,runlevel 2,3,4和5链接以S开头。这两个字母代表Kill和Start。
Debian和Ubuntu中runlevel 2,3,4和5是多用户运行级别。
运行级别 0 是 停止
运行级别 1 是 单用户模式
运行级别 6 是 重启
移除服务
如果你想完全手动运行Apache,你需要删除所有/etc/rcX.d/中的相关链接。但是如果使用 update-rc.d,如下:1
# update-rc.d -f apache2 remove
-f 参数:当/etc/init.d/apache2 还存在的时候,强力移除链接
注意:如果下次Apache升级了,那么本命令会失效。下面一条命令可以保证下次升级时,服务依旧不会重启1
# update-rc.d apache2 stop 80 0 1 2 3 3 4 5 6
增加服务
如果现在你又想Apache开机自启动了,只要输入如下命令即可:1
2
3
4
5
6
7
8
9# update-rc.d apache2 defaults
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K20apache2 -> ../init.d/apache2
/etc/rc1.d/K20apache2 -> ../init.d/apache2
/etc/rc6.d/K20apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2
自定义优先级
默认值是20,S20链接在S91链接前运行,K91在K20之前停止。
数字越小优先级越高,先运行、后停止。
为了设定启动和停止优先级为91,运行如下命令:1
2
3
4
5
6
7
8
9# update-rc.d apache2 defaults 91
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K91apache2 -> ../init.d/apache2
/etc/rc1.d/K91apache2 -> ../init.d/apache2
/etc/rc6.d/K91apache2 -> ../init.d/apache2
/etc/rc2.d/S91apache2 -> ../init.d/apache2
/etc/rc3.d/S91apache2 -> ../init.d/apache2
/etc/rc4.d/S91apache2 -> ../init.d/apache2
/etc/rc5.d/S91apache2 -> ../init.d/apache2
对启动和停止设定不同的优先级
下面我们设定启动优先级为20,停止优先级为801
2
3
4
5
6
7
8
9# update-rc.d apache2 defaults 20 80
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2
完全自定义运行级别和优先级
设定启动运行级别2,3,4和5的优先级为20,停止运行级别为0,1和6的优先级为801
2
3
4
5
6
7
8
9# update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S20apache2 -> ../init.d/apache2
设定启动运行级别2,3和4的优先级为20,运行级别5的优先级为30。停止运行级别0,1和6的优先级为801
2
3
4
5
6
7
8
9# update-rc.d apache2 start 20 2 3 4 . start 30 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/apache2 ...
/etc/rc0.d/K80apache2 -> ../init.d/apache2
/etc/rc1.d/K80apache2 -> ../init.d/apache2
/etc/rc6.d/K80apache2 -> ../init.d/apache2
/etc/rc2.d/S20apache2 -> ../init.d/apache2
/etc/rc3.d/S20apache2 -> ../init.d/apache2
/etc/rc4.d/S20apache2 -> ../init.d/apache2
/etc/rc5.d/S30apache2 -> ../init.d/apache2
---本文结束感谢您的阅读。微信扫描二维码,关注我的公众号---
本文链接: https://www.yp14.cn/2016/07/06/Ubuntu设置开机启动方法/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!