Red5服务自启动

       曾经碰到许多人问关于red5的启动问题,其实它的svn上早有这样的一启动脚本:

       http://svn1.cvsdude.com/osflash/red5/redhat/trunk/red5.init

       但它是作为系统服务启动的,只能以root用户运行,个人觉得这样不是太安全。最后,干脆自己重新写这样一个脚本得了:

 

#! /bin/bash

 

# For RedHat and cousins:

# chkconfig: 2345 85 85

# description: Red5 flash streaming server

# processname: red5

 

PROG=red5

RED5_HOME=/opt/osflash/red5-0.6/ #把这里设置为你的red5根目录

DAEMON=$RED5_HOME/$PROG.sh

PIDFILE=$PROG.pid

 

[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5

 

RETVAL=0

 

# Source function library

. /etc/rc.d/init.d/functions

 

pid=""

getpid () {

       if [ -f $PIDFILE ]; then

           local line p

           read line < $PIDFILE

           for p in $line ; do

               [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"

           done

       fi           

       if [ -z "$pid" ]; then

           pid=`ps -aux|awk '/red5/.jar/{print $2}'`;

       fi

}

 

getprogress () {

       local counter=0

       while [ $counter -lt $1 ]; do

              sleep 1

              echo -n "."

              let counter+=1;

       done

}

 

case "$1" in

       start)

           echo -n $"Starting $PROG "

           cd $RED5_HOME

           getpid

           if [ -n "$pid" ]; then

               RETVAL=1;

               echo -n "red5 is already started"

           else

               $DAEMON >/dev/null 2>/dev/null &

              RETVAL=$?

               if [ $RETVAL -eq 0 ]; then

                   echo $! > $PIDFILE

                   touch /tmp/$PROG     

               fi

           fi

           [ $RETVAL -eq 0 ] && getprogress 10 && success $"$PROG startup" || failure $"$PROG startup"

           echo

           cd -

           ;;

       stop)

           echo -n $"Shutting down $PROG "

           cd $RED5_HOME

           getpid

           if [ -n "$pid" ]; then

               kill -TERM $pid

               RETVAL=$?

               rm -f /tmp/$PROG

              rm -f $PIDFILE

           else

              RETVAL=1

               fi

           [ $RETVAL -eq 0 ] &&  getprogress 5  && success $"$PROG stop" || failure $"$PROG stop"

           echo 

           cd -

           ;;

       restart)

           $0 stop

           $0 start

           ;;

       *)

           echo $"Usage: $0 {start|stop|restart}"

           RETVAL=1

esac

exit $RETVAL

 

把文件保存为red5.init,然后用root执行:

       cp red5.init /etc/rc.d/init.d/red5

       cd /etc/rc.d/init.d/red5

       chkconfig –add red5

 

OK,现在可以启动服务了:

/etc/init.d/red5 start

Starting red5 ..........                                   [  OK  ]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值