【www.bbyears.com--CentOS】
在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。
1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd和记录开机时间。
代码如下#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don"t
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/local/apache/bin/apachectl start
date >>/root/rtime.txt
2、把写好的启动脚本添加到目录/etc/rc.d/init.d/,然后使用命令chkconfig设置开机启动。
例如:我们把httpd的脚本写好后放进/etc/rc.d/init.d/目录,使用
代码如下
cd /etc/rc.d/init.d
vi youshell.sh #将youshell.sh修改为你自己的脚本名
编写自己的脚本后保存退出。
在编写脚本的时候,请先加入以下注释
#add for chkconfig
#chkconfig: 2345 70 30
#description: the description of the shell #关于脚本的简短描述
#processname: servicename #第一个进程名,后边设置自启动的时候会用到
说明:
2345是指脚本的运行级别,即在2345这4种模式下都可以运行,234都是文本界面,5就是图形界面X
70是指脚本将来的启动顺序号,如果别的程序的启动顺序号比70小(比如44、45),则脚本需要等这些程序都启动以后才启动。
30是指系统关闭时,脚本的停止顺序号。
给脚本添加上可执行权限:
代码如下chmod +x youshell.sh
利用chkconfig命令将脚本设置为自启动
代码如下chkconfig --add servicename
这样你的脚本就可以在开机后自动运行了。
另外,在redhat里也可以使用这个方法来实现开机自启动。
实命令很简单的,使用chkconfig即可。比如要将mysqld设置为开机自动启动:
----------------------------------------------------------------------------------------------
同理,要取消掉某个服务自动启动,只需要将最后的参数“on”变更为“Off”即可。比如要取消postfix的自动启动:
#chkconfig postfix off
值得注意的是,如果这个服务尚未被添加到chkconfig列表中,则现需要使用–add参数将其添加进去:
代码如下#chkconfig –add postfix
如果要查询当前所有自动启动的服务,可以输入:
代码如下#chkconfig –list
但是这样显示东西太多了,看起来很晕。如果只想看指定的服务怎么办呢?这个时候只需要在“–list”之后加上服务名就好了,比如查看httpd服务是否为自动启动,就输入:
代码如下#chkconfig –list httpd
这个时候输出的结果:
代码如下httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
此时0~6均为off,则说明httpd服务不会在系统启动的时候自动启动。我们输入chkconfig httpd on后,再次检查输出结果变为:
代码如下httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
这个时候2~5都是on,就表明会自动启动了。