首先,先谈下对linux服务的理解
1,linux 服务运行方式: 脚本的方式运行,服务脚本存放位置/etc/rc.d/init.d/
2,linux服务管理软件 chkconfig
Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。但是chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
综上所述,添加某个程序为linux系统服务,且能让chkconfig 监测到它,需要通过两步来实现。
以添加自编译的apache为例
自编译安装apache命令略,最终安装路径/usr/local/apache2/
添加apahce为系统服务步骤:
步骤1添加服务脚本
#cp /app/apache2/bin/apachectl /etc/rc.d/init.d/httpd
#ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S61httpd
当init.d目录下有httpd脚本后,我们就可以通过service命令来启动关闭apache了,此时可以说已经成添加了apache系统服务。
但是# chkconfig –list却还是没有发现apache服务
步骤2,修改脚本使其支持chkconfig
编辑httpd脚本,在第2行添加如下注释信息:
# chkconfig: 35 61 61
# description: Apache
保存后执行:chkconfig --add httpd
第一行的3个参数意义分别为:在哪些运行级别启动httpd(3,5);启动序号(S61);关闭序号(K61)。注意:以上两行缺一不可
执行chkconfig --add httpd后就在rc3.d、rc5.d路径中将来就会出现S61httpd的链接,其他运行级别路径中会出现K61httpd的链接。