您的位置:首页 > 运维架构 > Linux

CentOS中服务程序随系统启动

2014-12-02 09:23 134 查看
摘要: 笔者之前做了一个服务器数据备份的一个脚本程序,涉及到程序自启动的设置。这里对自启动做个小结。

如何让Linux系统一启动就启动服务程序?

在 /etc/rc.d/init.d/ 目录下放置程序启动脚本。如 /etc/rc.d/init.d/ 下的httpd,这是个脚本程序。

cd /etc/rc.d/init.d/
./httpd start


相当于执行:

service httpd start


其实 service 会在 /etc/rc.d/init.d/ 中找对应的脚本程序,并执行。

/etc/rc.d/init.d/httpd 脚本程序接受 start, stop 等参数。结构如下:

#!/bin/bash
startServer() {
/usr/sbin/httpd &
}
stopServer() {
# Kill process
}

case "$1" in
start)
startServer
;;
stop
stopServer
;;
status
;;
restart
stopServer
startServer
;;
*)
echo "Usage: httpd ...."


如果想让服务随系统启动而启动。那么我们就得将启动脚本程序链接到 /etc/rcN.d中去,N为系统启动级别。

如下为将 httpd 服务加到2,4,5等级的自启动去。

for level in 2 4 5; do
ln /etc/rc.d/init.d/httpd /etc/rc${level}.d/S85httpd
done


如果你已了解实现的原理,那么就 chkconfig 命令实现:

chkconfig --list httpd   #查看一下当前的启动状态
chkconfig --levels 245 httpd on   #打开httpd在2,4,5等级下的自启动
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: