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/目录,使用
代码如下 | |
|
编写自己的脚本后保存退出。
在编写脚本的时候,请先加入以下注释
代码如下 | |
#add for chkconfig |
说明:
2345是指脚本的运行级别,即在2345这4种模式下都可以运行,234都是文本界面,5就是图形界面X
70是指脚本将来的启动顺序号,如果别的程序的启动顺序号比70小(比如44、45),则脚本需要等这些程序都启动以后才启动。
30是指系统关闭时,脚本的停止顺序号。
给脚本添加上可执行权限:
代码如下 | |
chmod +x youshell.sh |
利用chkconfig命令将脚本设置为自启动
代码如下 | |
chkconfig --add servicename |
这样你的脚本就可以在开机后自动运行了。
另外,在redhat里也可以使用这个方法来实现开机自启动。
实命令很简单的,使用chkconfig即可。比如要将mysqld设置为开机自动启动:
----------------------------------------------------------------------------------------------
代码如下 | |
#chkconfig mysqld on |
同理,要取消掉某个服务自动启动,只需要将最后的参数“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,就表明会自动启动了。