`
gcgmh
  • 浏览: 354875 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ttserver启动脚本

阅读更多
ttserver的下载地址:http://1978th.net/

#! /bin/sh

#----------------------------------------------------------------
# Startup script for the server of Tokyo Tyrant
#----------------------------------------------------------------


# configuration variables
prog="ttservctl"
cmd="ttserver"
basedir="/data/ttserver"
port="11211"
pidfile="$basedir/pid"
logfile="$basedir/log"
ulogdir="$basedir/ulog"
ulimsiz="256m"
sid=1
mhost="10.0.2.9"
mport="11211"
rtsfile="$basedir/rts"
dbname="$basedir/database.tch#bnum=100000000#xmsiz=434217728#rcnum=200000"
maxcon="65535"
retval=0


# setting environment variables
LANG=C
LC_ALL=C
PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
export LANG LC_ALL PATH


# start the server
start(){
  printf 'Starting the server of Tokyo Tyrant\n'
  mkdir -p "$basedir"
  if [ -z "$basedir" ] || [ -z "$port" ] || [ -z "$pidfile" ] || [ -z "$dbname" ] ; then
    printf 'Invalid configuration\n'
    retval=1
  elif ! [ -d "$basedir" ] ; then
    printf 'No such directory: %s\n' "$basedir"
    retval=1
  elif [ -f "$pidfile" ] ; then
    pid=`cat "$pidfile"`
    printf 'Existing process: %d\n' "$pid"
    retval=1
  else
    if [ -n "$maxcon" ] ; then
      ulimit -n "$maxcon" >/dev/null 2>&1
    fi
    cmd="$cmd -port $port -dmn -pid $pidfile"
    if [ -n "$logfile" ] ; then
      cmd="$cmd -log $logfile"
    fi
    if [ -n "$ulogdir" ] ; then
      mkdir -p "$ulogdir"
      cmd="$cmd -ulog $ulogdir"
    fi
    if [ -n "$ulimsiz" ] ; then
      cmd="$cmd -ulim $ulimsiz"
    fi
    if [ -n "$sid" ] ; then
      cmd="$cmd -sid $sid"
    fi
    if [ -n "$mhost" ] ; then
      cmd="$cmd -mhost $mhost"
    fi
    if [ -n "$mport" ] ; then
      cmd="$cmd -mport $mport"
    fi
    if [ -n "$rtsfile" ] ; then
      cmd="$cmd -rts $rtsfile"
    fi
    printf "Executing: %s\n" "$cmd"
    cmd="$cmd $dbname"
    $cmd
    if [ "$?" -eq 0 ] ; then
      printf 'Done\n'
    else
      printf 'The server could not started\n'
      retval=1
    fi
  fi
}


# stop the server
stop(){
  printf 'Stopping the server of Tokyo Tyrant\n'
  if [ -f "$pidfile" ] ; then
    pid=`cat "$pidfile"`
    printf "Sending the terminal signal to the process: %s\n" "$pid"
    kill -TERM "$pid"
    c=0
    while true ; do
      sleep 0.1
      if [ -f "$pidfile" ] ; then
        c=`expr $c + 1`
        if [ "$c" -ge 100 ] ; then
          printf 'Hanging process: %d\n' "$pid"
          retval=1
          break
        fi
      else
        printf 'Done\n'
        break
      fi
    done
  else
    printf 'No process found\n'
    retval=1
  fi
}


# send HUP to the server for log rotation
hup(){
  printf 'Sending HUP signal to the server of Tokyo Tyrant\n'
  if [ -f "$pidfile" ] ; then
    pid=`cat "$pidfile"`
    printf "Sending the hangup signal to the process: %s\n" "$pid"
    kill -HUP "$pid"
    printf 'Done\n'
  else
    printf 'No process found\n'
    retval=1
  fi
}


# check permission
if [ -d "$basedir" ] && ! touch "$basedir/$$" >/dev/null 2>&1
then
  printf 'Permission denied\n'
  exit 1
fi
rm -f "$basedir/$$"


# dispatch the command
case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  stop
  start
  ;;
hup)
  hup
  ;;
*)
  printf 'Usage: %s {start|stop|restart|hup}\n' "$prog"
  exit 1
  ;;
esac


# exit
exit "$retval"
分享到:
评论

相关推荐

    ttserver

    "ttserver" 是一个基于 Tokyo Cabinet 的服务器程序,主要用于数据存储和管理。Tokyo Cabinet 是一个非常著名的键值存储系统,提供了高效、轻量级的数据持久化解决方案。它支持BDB(Berkeley DB)和HDB(Hash DB)两...

    memcached和TTserver的使用

    【标题】: "深入理解memcached与TTServer的使用" 【描述】: "TTServer作为一款成熟的NoSQL存储系统,已经在各种应用场景中广泛使用。它以其出色的性能、复制功能、小巧的代码库以及对key-value数据存储的良好支持,...

    TTSERVER V2.1.1

    "TTServer V2.1.1"是一款专为用户提供便捷远程访问服务的软件。这款工具以其高效、稳定和易用性赢得了用户的喜爱,使得无论身处何地,都能轻松实现对远程计算机的控制和管理,真正打破了地理位置的限制,实现了...

    ttserver-lib包

    tokyocabinet-1.4.45.tar.gz tokyotyrant-1.1.41.tar.gz tokyotyrant-0.11.jar ch-tokyocabinet-java-1.24.0.jar

    TTserver1.1.4

    "TTserver1.1.4" 是一个特定版本的服务器软件,可能是一个数据库服务或某种特定的服务器平台。从给出的信息来看,它可能是Tokyo Tyrant的一个特定版本,因为压缩包中的文件名为"tokyotyrant-1.1.41"。Tokyo Tyrant是...

    ttserver被协助端.rar

    启动ttserver,通常需要进行一系列的配置,如设置服务器端口、配置日志记录、设定安全策略等。这通常通过修改配置文件或使用命令行参数来实现。运行ttserver.exe后,服务会监听指定端口,等待连接请求。 5. 应用...

    ttserver.exe

    主要用于远程协助使用,比QQ远程协助速度更快,更好用一些。 被协助者请运行“ttserver.exe”运行软件之后,随便输入一个验证码,然后点击‘被协助’,并将验证码告知协助方,协助方运行“ttclient.exe”

    基于C++的蘑菇街企业办公即时通信软件TTServer设计源码

    项目包含218个文件,具体为81个Java文件、54个C++源文件、52个头文件、6个Shell脚本、6个XML文件、5个属性文件、4个配置文件和1个Markdown文件。TTServer既作为开源项目,也作为公司产品,旨在提供高效的企业通讯...

    TTServer-Docs:蘑菇街TeamTalk TTServer文档

    1. **安装指南**:这部分内容会介绍如何在不同的操作系统环境下安装TTServer,包括必备的系统需求、依赖库的安装以及服务器的启动和停止操作。 2. **配置详解**:TTServer的配置文件通常包含许多可定制的选项,如...

    最小的远程控制软件ttvnc2.2

    首先,我们要了解ttvnc2.2的两个核心组件:ttserver.exe和ttclient.exe。ttserver.exe是被控端程序,安装在需要被远程控制的计算机上。它的主要职责是监听网络连接,等待控制端的请求,并在接收到请求后提供远程桌面...

    TTServer:蘑菇街一款既是做开源又是做产品的企业办公即时通信软件

    ###项目背景 随着蘑菇街由导购向电商转型,蘑菇街自己的IM也应运而生,IM起初只是用于商家和 买家之间沟通的工具。后面我们问自己,既然已经有了用于客服的IM,为什么不自己 做一个IM,用于公司内部的沟通工具,来...

    关于使用key/value数据库redis和TTSERVER的心得体会

    关于使用Key/Value数据库Redis和TTSERVER的心得体会,主要集中在Redis的特性和使用场景上。Redis是一个高性能的Key/Value存储系统,它与Memcached相似,但提供了更为丰富的数据结构和更强大的功能。 首先,Redis...

    远程协助软件-TTVNC

    主要用于远程协助使用,比QQ远程协助速度更快,更好用一些。...若被协助方的‘被协助’按钮为灰色,请去掉后面‘自动连接’的勾,然后退出软件重新运行 ttserver.exe 输入验证码并点击被协助即可。

    远程控制软件 ttvnc软件

    - **ttvnc.exe**:这是ttvnc的主程序,启动并运行远程控制服务。 - **vncserver.exe**:VNC服务器端程序,负责接收和处理远程连接请求,将远程计算机的桌面呈现给客户端。 - **vncclient.exe**:VNC客户端程序,...

    远程工具ttvnc

    一旦下载并安装了压缩包中的"ttvnc.exe"文件,用户就可以启动程序。在被协助方的电脑上,他们需要运行程序并生成一个验证码。这个验证码是安全连接的关键,确保只有授权的用户才能进行远程访问。然后,协助者在自己...

    https-github.com-mogutt-TTServer

    TeamTalk是一套开源的企业办公即时通讯软件,作为整套系统的组成部分之一,TTServer为TeamTalk 客户端提供用户登录,消息转发及存储等基础服务。 TTServer主要包含了以下几种服务器: LoginServer (C++): 登录服务器...

    远程控制软件被控端下载

    远程控制软件被控端下载相关的知识点主要涉及到网络通信、系统管理、信息安全以及软件应用等多个方面。下面将详细解析这些知识点: 1. **网络通信技术**:远程控制软件的基础是网络通信,它通常采用TCP/IP协议栈,...

Global site tag (gtag.js) - Google Analytics