Tomcat jenkins ci init.d脚本在查询状态时返回错误

Tomcat jenkins ci init.d脚本在查询状态时返回错误,tomcat,jenkins,centos,init.d,Tomcat,Jenkins,Centos,Init.d,我正在使用jenkins ci网站提供的以下init.d脚本 当我开始和停止jenkins时,它工作正常,但当我询问状态时,它会给出一个错误。如何使其正确报告状态 [root@jenkins01 init.d]# service jenkins start Starting Tomcat: Using CATALINA_BASE: /apps/tomcat/apache-tomcat-7.0.54 Using CATALINA_HOME: /apps/tomcat/apache-tomc

我正在使用jenkins ci网站提供的以下init.d脚本

当我开始和停止jenkins时,它工作正常,但当我询问状态时,它会给出一个错误。如何使其正确报告状态

[root@jenkins01 init.d]# service jenkins start
Starting Tomcat: Using CATALINA_BASE:   /apps/tomcat/apache-tomcat-7.0.54
Using CATALINA_HOME:   /apps/tomcat/apache-tomcat-7.0.54
Using CATALINA_TMPDIR: /apps/tomcat/apache-tomcat-7.0.54/temp
Using JRE_HOME:        /usr/java/jdk1.7.0_13
Using CLASSPATH:       /apps/tomcat/apache-tomcat- \ 
7.0.54/bin/bootstrap.jar:/apps/tomcat/apache-tomcat-7.0.54/bin/tomcat-juli.jar
Using CATALINA_PID:    /apps/tomcat/jenkins-tomcat.pid
Tomcat started.

[root@jenkins01 init.d]# service jenkins status
status: Unknown job: tomcat

[root@jenkins01 init.d]# cat /apps/tomcat/jenkins-tomcat.pid
8919
这里是完整的脚本,稍微适合我的设置:

#!/bin/sh
#
# Startup script for the Jenkins Continuous Integration server
# (via Jakarta Tomcat Java Servlets and JSP server)
#
# chkconfig: - 85 15
# description: Jakarta Tomcat Java Servlets and JSP server
# processname: tomcat
# pidfile: /var/run/tomcat.pid

# Set Tomcat environment.
JENKINS_USER=tomcat
LOCKFILE=/var/lock/jenkins
export PATH=/usr/local/bin:$PATH
export HOME=/apps/tomcat
export JAVA_HOME=/usr/java/jdk1.7.0_13
export JENKINS_BASEDIR=/apps/tomcat
export TOMCAT_HOME=/apps/tomcat/apache-tomcat-7.0.54
export CATALINA_PID=$JENKINS_BASEDIR/jenkins-tomcat.pid
export CATALINA_OPTS="-DJENKINS_HOME=$JENKINS_BASEDIR/jenkins-home -Xmx512m -Djava.awt.headless=true"

[ -f $TOMCAT_HOME/bin/catalina.sh ] || exit 0

export PATH=$PATH:/usr/bin:/usr/local/bin

# See how we were called.
case "$1" in
  start)
        # Start daemon.
        echo -n "Starting Tomcat: "
        su -p -s /bin/sh $JENKINS_USER -c "$TOMCAT_HOME/bin/catalina.sh start"
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch $LOCKFILE
        ;;
  stop)
        # Stop daemons.
        echo -n "Shutting down Tomcat: "
        su -p -s /bin/sh $JENKINS_USER -c "$TOMCAT_HOME/bin/catalina.sh stop"
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f $LOCKFILE
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  condrestart)
       [ -e $LOCKFILE ] && $0 restart
       ;;
  status)
        status tomcat
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
esac

exit 0

我遇到了与您相同的问题,网站上的脚本完全错误,我已经更新了它,我在Red Hat上测试了它

错误是:

缺少函数库的源如果没有它,则使用status命令而不是库中定义的status函数

源函数库。 . /etc/rc.d/init.d/functions

描述中的processname错误,tomcat而不是jenkins

描述中的文件错误

不正确的状态语法,正确: 状态-p$CATALINA_PID-l$basename$LOCKFILE jenkins