zoukankan      html  css  js  c++  java
  • 在Linux中将脚本做成系统服务

      有一些情况下,我们需要将某些脚本作为系统服务来运行。比如,在我使用workerman框架开发php程序时,需要使用管理员权限来运行,而且需要开机自行启动程序提供服务。这个时候将启动程序写成服务就可以很方便使用了,而且在使用时也可以直接sudo service xxxx start,不需要手动敲出来复杂的文件路径。(在不使用小技巧的时候可能要这样做: sudo php /path/to/file start -d)生命苦短,多用些小技巧可能提高我们生命的效率,呵呵扯远了。我们直接来看如何自己写一个,并将之作为系统服务,且开机自动运行。

      首先,作为服务我们通常需要以下的功能:{start|stop|restart|status},接下来我就使用一段简单的bash脚本做一个演示:

      1.编辑我们的脚本文件

      vim myservice

      脚本内容:

      

    #!/bin/bash
    #
    #description: a demo
    #chkconfig:2345 88 77
    lockfile=/var/lock/subsys/myservice
    touch $lockfile
    # start 
    start(){
            if [ -e $lockfile ] ;then
                    echo "Service is already running....."
                    return 5
            else
                    touch $lockfile
                    echo "Service start ..."
                    return 0
            fi
    }
    #stop
    stop(){
            if [ -e $lockfile ] ; then
                    rm -f $lockfile
                    echo "Service is stoped "
                    return 0
            else
                    echo "Service is not run "
                    return 5
            fi
    
    }
    #restart 
    restart(){
            stop
            start
    }
    usage(){
            echo "Usage:{start|stop|restart|status}"
    }
    status(){
            if [ -e $lockfile ];then
                    echo "Service is running .."
                    return 0
            else
                    echo "Service is stop "
                    return 0
            fi
    }
    case $1 in
    start)
            start
            ;;
    stop)
            stop
            ;;
    restart)
            restart
            ;;
    status)
            status
            ;;
    *)
            usage
            exit 7
            ;;
    esac
    

      

      之后,我们将脚本复制至/etc/init.d文件夹中

      #cp myservice /etc/init.d

      将我们的myservice.sh添加至chkconfig

      #chkcofig --add myservice

      这样,在2345的运行级别下,myservice就会开机自动开启服务了,我们在任意目录下面都可以直接运行脚本 service myservice start

  • 相关阅读:
    windows下安装python,安装框架django。
    如何创建PostgreSQL数据库
    图像灰度化方法总结及其VC实现
    如何将真彩色图转换为各种灰度图
    Win8Metro(C#)数字图像处理--2.40二值图像轮廓提取
    C#GDI+图像处理
    C# 内存法图像处理
    C#调用GDI+1.1中的函数实现高斯模糊、USM锐化等经典效果。
    图像处理之简单数字水印
    解析C#彩色图像灰度化算法的实现代码详解
  • 原文地址:https://www.cnblogs.com/jixingke/p/6050570.html
Copyright © 2011-2022 走看看