【问题标题】:init script process pid not working初始化脚本进程 pid 不工作
【发布时间】:2014-09-17 23:07:51
【问题描述】:

所以我安装了 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 文件启动。我可以手动启动它没有问题并且按预期工作但是当使用上述命令和代码启动时它说启动'OK'但似乎没有并且当使用'status'命令时我收到错误red5 dead but pid file exists

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

如果我删除较新的 red5 文件夹并重新命名旧文件夹,那么脚本会再次运行,那么我怎样才能让它适用于较新的版本/文件?

任何帮助将不胜感激,

谢谢。

【问题讨论】:

    标签: linux red5 init.d


    【解决方案1】:

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

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

    所以尝试删除它(作为root用户):

    rm /var/run/red5.pid
    

    【讨论】:

    • 正如我上面所说,我已经删除了该目录中的 pid 文件。似乎只有在运行原始的工作 red5 文件夹/脚本时才会在该文件夹中创建一个 pid 文件,但是一旦脚本停止,pid 文件似乎会从 var/run 文件夹中删除自己。奇怪的是,当尝试使用新的 red5 文件夹和以前的脚本时,它说进程已经死了,但是“pid 文件存在”,而据我所知,它没有。
    猜你喜欢
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多