【问题标题】:init.d script for OpenXCAP on CentOS 6CentOS 6 上 OpenXCAP 的 init.d 脚本
【发布时间】:2012-01-08 17:06:59
【问题描述】:

我对 Linux 和 OpenXCAP 有点陌生,我正在尝试为 CentOS 6 上的 OpenXCAP 创建一个 init.d 脚本。

我的脚本可以启动停止 OpenXCAP 服务,但它会为 status 命令返回此错误(服务 openxcap 状态):openxcap 已死,但子系统已锁定

也许有人可以告诉我问题出在 init.d 脚本还是 openxcap 服务本身? openxcap 是否缺少一些“给予状态”功能?

#!/bin/bash
#
# Startup script for OpenXCAP
#
# processname: openxcap
# pidfile: /var/run/openxcap/openxcap.pid
# chkconfig: - 85 15
# description: start, stop, restart OpenXCAP server
#
### BEGIN INIT INFO
# Provides: openxcap
# Required-Start: $local_fs $network
# Should-Start: mysqld
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

APP_NAME=openxcap
APP_HOME=/usr/local/src/openxcap-2.0.1
PID_PATH=/var/run/openxcap/openxcap.pid
RETVAL=0

[ -f /etc/sysconfig/$APP_NAME ] && . /etc/sysconfig/$APP_NAME

start()
{
        echo -n $"Starting $APP_NAME: "
        daemon $APP_HOME/$APP_NAME $OPTIONS 2>/dev/null | tail -1
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch /var/lock/subsys/$APP_NAME
}

stop()
{
        echo -n $"Stopping $APP_NAME: "
        killproc -p $PID_PATH
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$APP_NAME $PID_PATH
}

# See how we were called.
case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        status)
                status $APP_NAME
                RETVAL=$?
                ;;
        restart|reload)
                stop
                start
                ;;
        *)
                echo $"Usage: $APP_NAME {start|stop|reload|restart|status|help}"
                exit 1
esac

exit $RETVAL

【问题讨论】:

    标签: centos init.d centos6


    【解决方案1】:

    您(希望)将 PID 文件写为/var/run/openxcap/openxcap.pid

    我怀疑您的程序正在写出一个 PID,但随后又启动了另一个进程。第一个进程死了,所以sysvinit 不知道去寻找另一个进程。

    但是,表明您的进程已启动的锁定文件仍然存在。

    您可能无法直接使用daemon 函数来启动该程序;您可能需要创建一个“足够智能”的自定义版本来识别正确的 PID。

    【讨论】:

    • 嗨@BRPocock,首先抱歉回复晚了。现在关于问题本身,这个 OpenXCAP 服务是一个 python 应用程序,也许对于 python 应用程序来说,这个问题一般都有解决方案。我只是还没有找到它。更不用说这个 OpenXCAP 项目有一段时间没有看到任何更新,我正在考虑从我的项目中删除它。
    猜你喜欢
    • 2011-04-28
    • 2011-07-01
    • 2015-01-02
    • 2014-04-13
    • 2013-05-09
    • 1970-01-01
    • 2013-02-08
    • 2019-01-20
    • 2016-01-15
    相关资源
    最近更新 更多