有人说chkconfig中添加服务,而rc.local中添加自启动程序。
服务和程序的概念是:服务是由程序写的;程序可以是一条或多条命令行组成的个体服务或者就是一堆命令。
而命令的概念是:二进制可执行文件
之前我很困惑,如果安装了一个应用,我是该将启动该应用的设置到3个当中的哪里呢?比如说: nginx/sbin/nginx
现在清楚了,因为nginx在sbin下,肯定是命令了,所有仅设置到PATH放到/etc/profile就可以啦
1. 如何让一个服务被chkconfig来控制呢?
答案是: 把此服务cp到/etc/init.d下,在此服务中添加
# chkconfig: 2345 90 60
# description: cron is a standard ...即可
90是启动顺序,60是关闭顺序,据说取值范围为1-100。那么问题来了,如果多于100个服务都想被chkconfig来管理呢?
没关系,我测试过:将crond network和sshd都设成同样的启动顺序和关闭顺序都没有报错。 .
root@lzc# echo -e '#chkconfig: 2345 90 10 \n#description: nginx is wordwide-used web service'>>test
root@lzc# chkconfig --add test
root@lzc# chkconfig --list
root@lzc# chkconfig --del test
root@lzc# chkconfig --level 2345 test off
2. 向 PATH路径中加二进制命令时,注意不要把命令加进去,只加命令所在的路径即可
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/application/nginx/sbin