zoukankan      html  css  js  c++  java
  • 在ubuntu下用monoservice运行SuperSocket dotNET界面

      最近用开源的SuperSocket 开发了服务端。当要在mono下运行时遇到很多比较麻烦的事让我走了不少弯路。现在将解决的方法写出来与大家一起分享,如有不足的地方请告之小白。

      下载江大的SuperSocket上面已经自带了

      文件:

      

      在Config文件里面检查下是否存在log4net.unix.config 在mono下运行需要这个。 在mono下可以删除掉UninstallService.bat 和 InstallService.bat这两个在linux下无用的。

      至于如何配置SuperSocket.SocketService.exe.config 以及拷贝你的dll等我就不详细描述 具体的可以参看这个http://supersocket.codeplex.com/wikipage?title=Start%20SuperSocket%20by%20Configuration

      在mono下将我写的bash脚本保存为supersocket 注意大小写和无文件扩展名 拷贝到 SuperSocket.SocketService.exe 在同一目录 

      修改SERVICE_PATH的路径

    #!/bin/sh 
    # control supersocket like windows service. copy this to your Working directory then ./supersocket {start|stop|restart}
    #custom your servicename
    
    SERVICENAME="SuperSocket"
    SERVICE_PID=""
    SERVICE_PATH="/root/SuperSocket/" #your Working directory
    
    export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
    
    if [ -f "/var/run/${SERVICENAME}.pid" ]; then
     SERVICE_PID=$(cat /var/run/${SERVICENAME}.pid)
    fi
    
    case "$1" in
      start)
      if [ -z "${SERVICE_PID}" ]; then
        mono-service -d:${SERVICE_PATH} -l:/var/run/${SERVICENAME}.pid -m:supersocket.log SuperSocket.SocketService.exe  
        echo "${SERVICENAME} running"
      else
        echo "${SERVICENAME} is already running!"
      fi
      ;;
      stop)
      if [ -n "${SERVICE_PID}" ]; then
        kill ${SERVICE_PID}    
        echo "${SERVICENAME} stop success !" 
      else
        echo "${SERVICENAME} is not running!"
       fi
       ;;
      restart)
           $0 stop
           sleep 1
           $0 start
       ;;
       *)
           echo "usage: $0 {start|stop|restart}"
    esac 
    
    exit 0

      检查是否拥有脚本执行权限如果没有对这个脚本修改权限 0755

      sudo chmod 755 supersocket这个脚本的路径

      如果是使用WinSCP直接鼠标右键

      

      通过putty连接到远程服务器

      cd 到你服务运行的目录

      执行下面的命令(确保你是root 如果不是请加 sudo)

      ./supersocket start

      你编写的supersocket服务就运行起来.

      启动:./supersocket start  停止:./supersocket stop 重启:./supersocket restart这个和window下的 service很相似了吧 使用也很简单。

      

    关于随着系统自动启动的方法。

    在/etc/rc.local 或类试的开机启动脚本中加入下面这一行命令:

    自行替换对应的目录

    你服务所在目录/root/SuperSocket/supersocket start

    关于卸载。

    如果在开机启动脚本里面加入了 开机启动,请自行删除掉。

    如果服务正在运行请停止

    然后删除掉所在服务目录即可

  • 相关阅读:
    安装libgl1-mesa-dri:i386重启后黑屏问题解决
    adb连接安卓模拟器
    编译andorid内核
    android镜像文件说明
    ubantu14.04配置android编译环境
    UDP组播相关
    eclipse中如何向开源中国(码云)上传代码
    How to copy a java.util.List into another java.util.List
    Windows中.exe程序的启动过程和C/C++运行时库
    GEF调色板中的多级树结构
  • 原文地址:https://www.cnblogs.com/jasondun/p/2859491.html
Copyright © 2011-2022 走看看