init脚本进程pid无法正常工作

时间:2014-07-26 02:09:54

标签: linux red5 init.d

所以我安装了red5流服务器,并且可以使用以下init.d脚本代码关闭ssh终端窗口时启动并保持启动:

#!/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文件启动。我可以手动启动这个没有问题,并按预期工作,但是当使用上述命令和代码启动时,它说开始“确定”但似乎没有,当使用'status'命令时,我收到错误red5 dead but pid file exists

我尝试删除var / run和lock文件夹中的pid red5文件并重新启动服务器,但仍然遇到同样的问题。

如果我删除了较新的red5文件夹并重新命名旧文件夹,那么该脚本会再次运行,那么如何才能使其适用于较新的版本/文件?

任何帮助将不胜感激,

感谢。

1 个答案:

答案 0 :(得分:0)

该文件列在顶部的init脚本中:

PROG=red5
PIDFILE=/var/run/$PROG.pid

因此请尝试删除它(作为root用户):

rm /var/run/red5.pid
相关问题