Linux 初始化脚本进程pid不工作

Linux 初始化脚本进程pid不工作,linux,red5,init.d,Linux,Red5,Init.d,因此,我已经安装了red5 streaming server,可以使用以下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=red

因此,我已经安装了red5 streaming server,可以使用以下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文件启动。我可以手动启动此命令,没有问题,并且可以按预期工作。但是,当使用上述命令和代码启动时,它会显示为“已启动”,但显示为“未启动”,当使用“状态”命令时,我会收到错误
red5 dead,但pid文件存在

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

如果我删除了较新的red5文件夹并重新命名了旧文件夹,那么脚本将再次工作,那么如何使其适用于较新的版本/文件

任何帮助都将不胜感激


谢谢。

该文件列在您的初始化脚本顶部:

PROG=red5
PIDFILE=/var/run/$PROG.pid
因此,请尝试删除它(作为
root
user):


如上所述,我已经删除了该目录中的pid文件。只有在运行原始的工作red5文件夹/脚本时,才会在该文件夹中创建pid文件,但一旦脚本停止,pid文件就会从var/run文件夹中删除自身。奇怪的是,当尝试使用新的red5文件夹和以前的脚本时,它说进程已经死了,但“pid文件存在”,而从我所能看出它没有。
rm /var/run/red5.pid