gpt4 book ai didi

centos - CentOS 6 上 OpenXCAP 的 init.d 脚本

转载 作者:行者123 更新时间:2023-12-04 19:32:32 25 4
gpt4 key购买 nike

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

我的脚本可以开始停止 OpenXCAP 服务,但它为 返回此错误状态 命令(服务 openxcap 状态): openxcap 已死,但 subsys 已锁定

也许有人可以告诉我问题出在 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

最佳答案

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

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

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

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

关于centos - CentOS 6 上 OpenXCAP 的 init.d 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8309414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com