阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

控制Linux下 mono 服务的启动停止

135次阅读
没有评论

共计 2532 个字符,预计需要花费 7 分钟才能阅读完成。

当 Window 下的服务部署到 Linux 的时候,我们一般用 Mono.service 来启动停止。参数比较多,不太好用。于是有个这个 Shell 脚本。

用法:moa s1 start #启动 

        moa s1 stop # 停止

要求有如下的目录结构:

/opt/basepath/

                    s1/

                        sample1.exe #服务 1,文件名称不限

                    s2/

                        sampleservice2.exe #服务 2,文件名称不限

                    daemon.d/  #空目录,放置进程标识

                    moa  #Shell 脚本

#!/bin/bash
#
# monosd  执行 Mono.Service 启动停止 .net 服务,根据目录名.
# 例如:目录结构如下时候,monosd s1 start/stop
# /opt/basedir/
# /opt/basedir/s1
# /opt/basedir/s1/xxxxx.exe
#

# chkconfig: – 50 50
# description: start or stop mono service by pathname
# config: /etc/sysconfig/netconsole
#
# Copyright 2015 Qtong, Inc.
#
# Based in part on a shell script by
# evlon <evlion@qq.com> 2015-11-02

MONOPATH=/opt/mono/bin

SHNAME=$0
SERVICENAME=$1
#BASEPATH=/opt/${SHNAME##*/}
#BASEPATH=${SHNAME%/*}
BASEPATH=$(cd `dirname $0`; pwd)
DAEMONPATH=$BASEPATH/daemon.d

PATH=$MONOPATH:$PATH
RETVAL=0

 

EXEFILE=`find $BASEPATH/$SERVICENAME/ -name *.exe`
EXEFILE=${EXEFILE##*/}

usage ()
{
    echo $”Usage: $0 servicePathName {start|stop}” 1>&2
    RETVAL=2
}

start ()
{
    if [! -d $DAEMONPATH]; then
        echo $” 目录不存在 $DAEMONPATH” 1>&2
        exit 3
    fi
    if [! -d “$BASEPATH/$SERVICENAME”]; then
        echo $” 目录不存在 $BASEPATH/$SERVICENAME” 1>&2
        exit 4
    fi

   
   
    if  [“$EXEFILE” == “”]; then
        echo $” 找不到可执行文件!目录:$BASEPATH/$SERVICENAME/” 1>&2
        exit 5
    fi
            mono-service -d:$BASEPATH/${SERVICENAME} -l:$DAEMONPATH/${SERVICENAME}d $EXEFILE
    sleep 3
   
    if [! -f  $DAEMONPATH/${SERVICENAME}d ]; then
        echo “PID:”`cat $DAEMONPATH/${SERVICENAME}d` “Started”  1>&2
    fi
}

stop ()
{
    if [! -d $BASEPATH/$SERVICENAME]; then
        echo $” 目录不存在 $BASEPATH/$SERVICENAME” 1>&2
   
        exit 3
    fi

    if [! -f  $DAEMONPATH/${SERVICENAME}d ]; then
        echo $” 服务没有运行 $BASEPATH/$SERVICENAME” 1>&2
       
        exit 5
    fi
    PID=`cat $DAEMONPATH/${SERVICENAME}d`
    kill `cat $DAEMONPATH/${SERVICENAME}d`
    echo “PID: $PID Stoped”  1>&2
}

 

restart ()
{
    stop
    start
}

case “$2” in
    stop) stop ;;
    start) start;;
    restart|reload|force-reload) restart ;;
    *) usage ;;
esac

exit $RETVAL

下面关于 Mono 与 Jexus 的文章您也可能喜欢,不妨看看:

CentOS 7 上部署 Mono 4 和 Jexus 5.6  http://www.linuxidc.com/Linux/2015-05/117633.htm

Ubuntu 15.04 和 CentOS 7 部署 .NET,Mono and DNX  http://www.linuxidc.com/Linux/2015-05/117177.htm

在 Linux(Ubuntu/openSUSE/CentOS)下配置 ASP.NET(Apache + Mono)http://www.linuxidc.com/Linux/2013-07/87599.htm

配置 Linux(Apache) + Mono 下运行 asp.net http://www.linuxidc.com/Linux/2013-07/87598.htm

如何升级 Mono http://www.linuxidc.com/Linux/2013-06/85391.htm

在 Mono 3.0 下运行 ASP.NET 4 网站的主意事项 http://www.linuxidc.com/Linux/2013-06/85394.htm

在 Ubuntu 操作系统上安装 Mono 和 Jexus 搭建.NET 的运行环境 http://www.linuxidc.com/Linux/2013-06/85388.htm

Ubuntu 14.04 配置 Mono+Jexus 运行 ASP.NET  http://www.linuxidc.com/Linux/2015-08/121743.htm

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-11/124811.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计2532字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中