zoukankan      html  css  js  c++  java
  • CentOS6和CentOS7服务开机启动

    CentOS 6和CentOS 7都可以定义开机启动哪些服务,但CentOS 6的命令是chkconfig,CentOS 7是systemctl。

    本文将介绍两种命令的实现方式。

    一、CentOS 6的服务

    在CentOS 6下编写一个服务http,位于/etc/init.d目录下,具体的脚本如下:

    #!/bin/bash
    # chkconfig: 2345 10 90 
    # description: http ....
    
    start() {
      echo "HTTP is enabled now"
    }
    stop() {
      echo "HTTP is disable now"
    }
    case "$1" in
    start)
      start
      ;;
    stop)
      stop
      ;;
    restart)
      start
      stop
      ;;
    *)
      echo "USAGE $0 {start|stop|restart}"
      exit
    esac

    注意,两个注释"# chkconfig: 2345 10 90"和 "# description: http ...."表示:启动的level和优先级,已经服务的描述。这两段注释是一定要加上的。否则服务添加是报错。

    通过如下命令实现把服务注册到chkconfig中:

    chkconfig --add http

    然后可以通过:

    chkconfig http on

    定义开机启动这个服务。另外可以查看chkconfig的状态:

    chkconfig --list

    二、CentOS 7的服务

    在CentOS 7的机器中创建一个服务的脚本: /etc/init.d/myuptime。具体的脚本如下:

    #!/bin/bash
    
    start() {
      echo starting
      while true
      do
        uptime >> /root/myuptime.txt
        sleep 2
      done
    }
    stop() {
      echo stoping
      pid=`ps -ef | grep myuptime | grep -v grep | awk '{print $2}'`
      kill $pid &
    }
    case "$1" in
    start)
      start
      ;;
    stop)
      stop
      ;;
    *)
      echo "USAGE $0 {start|stop|restart}"
      exit
    esac

    在/etc/systemd/system中创建服务描述文件myuptime.service

    [Unit]
    Description=uptime Service
    After=network.target
    
    [Service]
    Type=simple
    User=root
    ExecStart=/etc/init.d/myuptime start
    ExecStop=/etc/init.d/myuptime stop
    
    [Install]
    WantedBy=multi-user.target

    这个文件中包含Unit、Service和Install三个部分。定义了描述、服务属性的类型和安装参数等。其中ExecStart、ExecStop定义了启动和停止的实现方式。

    配置好后,运行:

    [root@hwcentos70-01 system]#systemctl enable myuptime
    
    ln -s '/etc/systemd/system/myuptime.service' '/etc/systemd/system/multi-user.target.wants/myuptime.service'

    systemctl把myuptime服务加入到了启动项目中。

    执行:

    [root@hwcentos70-01 system]#systemctl start myuptime

    查看:

    [root@hwcentos70-01 system]#systemctl status myuptime
    
    myuptime.service - uptime Service
    
    Loaded: loaded (/etc/systemd/system/myuptime.service; enabled)
    
    Active: active (running) since Fri 2016-02-26 13:37:23 UTC; 10s ago
    
    Main PID: 53620 (myuptime)
    
    CGroup: /system.slice/myuptime.service
    
    ├─53620 /bin/bash /etc/init.d/myuptime start
    
    └─53632 sleep 2
    
     
    
    Feb 26 13:37:23 hwcentos70-01 systemd[1]: Started uptime Service.
    
    Feb 26 13:37:23 hwcentos70-01 myuptime[53620]: starting

    通过以上的方法实现把myuptime作为服务加入启动项。

  • 相关阅读:
    时装画基础知识--如何画人体
    马士兵java视频学习顺序
    Mysql 中文字符乱码问题
    zendstudio 设置默认编码 utf-8 gbk
    MYSQL 本地无ROOT权限 忘记密码
    windows 3389 远程
    windows 老掉牙CMD的命令
    mysql-常用注入渗透手法
    ubuntu 添加多个IP
    windows下简单配置apache
  • 原文地址:https://www.cnblogs.com/hengwei/p/5221888.html
Copyright © 2011-2022 走看看