CentOS中服务程序随系统启动-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

CentOS中服务程序随系统启动

简介:

如何让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等级下的自启动



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章