zoukankan      html  css  js  c++  java
  • Ubuntu 14.04 编写service 服务

    有时我们需要将特定操作封装成服务,通过服务启动停止,例如nginx的启动停止,service nginx start 或者service nginx stop

    下面我们将编写一个demo

    cd /etc/init.d/

    sudo vi test,建立一个service名称为test的服务

    加入下面模版代码

    #! /bin/sh
    ### BEGIN INIT INFO
    # Provides:          reboot
    # Required-Start:
    # Required-Stop:
    # Default-Start:
    # Default-Stop:      6
    # Short-Description: Execute the reboot command.
    # Description:
    ### END INIT INFO
    
    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    
    . /lib/lsb/init-functions
    
    do_stop () {
            # Message should end with a newline since kFreeBSD may
            # print more stuff (see #323749)
            log_action_msg "Will now restart"
            reboot -d -f -i
    }
    
    case "$1" in
      start)
            nohup /etc/init.d/test.sh >> b.log 2>&1 &
        ;;
      stop)
            do_stop
            ;;
      *)
            echo "Usage: $0 start|stop" >&2
            exit 3
            ;;
    esac

    可以根据需要编写start方法以及stop方法

    赋予执行权限

    sudo chmod +x /etc/init.d/test

    然后我们再写一个shell测试脚本

    sudo vi test.sh

    #!/bin/bash
    int=1
    while(( $int<=5 ))
    do
        date >> ~/a.log
        sleep 1 
    #   let "int++"
    done

    赋予执行权限

    sudo chmod +x /etc/init.d/test.sh

    接下来,我们启动服务

    service test start

    查看服务是否已经启动

    tail -f ~/a.log

    会看到不断的打印时间

    这说明我们的脚本已经以服务的形式启动起来了。

  • 相关阅读:
    回答提出的问题1-17章
    《构建之法》第13-17章读书笔记
    读《一个程序员的生命周期》有感
    构建之法的第十、十一、十二章读书笔记
    阅读《构建之法》第8,9,10章
    5.2-5.3
    作业5.1测试与封装
    读《构建之法》5.6.7 思考
    读《构建之法》的思考
    作业2 结对思则运算
  • 原文地址:https://www.cnblogs.com/sea-stream/p/9960827.html
Copyright © 2011-2022 走看看