所以我已经安装了red5流服务器,并且可以在使用以下init关闭ssh终端窗口时启动并保持启动。D脚本代码:
#!/bin/bash
# For RedHat and cousins:
# chkconfig: 2345 85 85
# description: Red5 flash streaming server
# processname: red5
# Created By: Sohail Riaz (sohaileo@gmail.com)
PROG=red5
RED5_HOME=/usr/local/red5
DAEMON=$RED5_HOME/$PROG.sh
PIDFILE=/var/run/$PROG.pid
# Source function library
. /etc/rc.d/init.d/functions
[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5
RETVAL=0
case "$1" in
start)
echo -n $"Starting $PROG: "
cd $RED5_HOME
$DAEMON >/dev/null 2>/dev/null &
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo $! > $PIDFILE
touch /var/lock/subsys/$PROG
fi
[ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
echo
;;
stop)
echo -n $"Shutting down $PROG: "
killproc -p $PIDFILE
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
;;
restart)
$0 stop
$0 start
;;
status)
status $PROG -p $PIDFILE
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
RETVAL=1
esac
exit $RETVAL
所以我可以输入'red5 start', 'red5 status'和'red5 stop'。
现在我将red5文件夹重命名为red5bak,并在新的'red5'文件夹中测试了一个新的更新版本,该文件夹也使用red5.sh文件启动。我可以手动启动这个,没有问题,并按预期工作,但是当使用上述命令和代码启动时,它说开始'OK',但似乎没有,当使用'status'命令时,我得到错误red5 dead but pid file exists
。
我尝试删除pid red5文件在var/run和锁定文件夹和重启服务器,但仍然得到相同的问题。
如果我删除较新的red5文件夹并重命名旧文件夹,然后脚本再次工作,所以我怎么能让它为较新的版本/文件工作?
任何帮助都将不胜感激,
谢谢。
该文件列在初始化脚本的顶部:
PROG=red5
PIDFILE=/var/run/$PROG.pid
所以尝试删除它(作为root
用户):
rm /var/run/red5.pid