jenkins死亡,但PID文件存在

我遇到了一个问题,一个新的安装Jenkins不可访问。 这是错误和操作系统的详细信息:当启动jenkins结果“OK”状态消息,但是如果我运行status-all | grep jenkins它的结果是:

jenkins dead but pid file exists 

运行在红帽企业Linux服务器版本6.2(圣地亚哥)与Yum作为包pipe理器。

 rpm -qa | grep java java-1.7.0-openjdk-1.7.0.19-2.3.9.1.el6_4.x86_64 java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.x86_64 tzdata-java-2011l-4.el6.noarch libvirt-java-0.4.7-1.el6.noarch libvirt-java-devel-0.4.7-1.el6.noarch java-1.6.0-openjdk-devel-1.6.0.0-1.61.1.11.11.el6_4.x86_64 

权限是:

 ls -la /var/lib/jenkins/ total 8 drwxr-xr-x 2 jenkins jenkins 4096 Aug 27 00:21 . drwxr-xr-x. 29 root root 4096 Aug 27 14:47 .. 

有没有人解决过这个问题?

JENKINS_AJP_PORT="8009" (或任何值)更改为JENKINS_AJP_PORT="-1"

这将工作肯定。

在遵循AWS教程的同时使用Jenkins和Amazon ECS设置构建管道时,我遇到了完全相同的错误。

更换端口并不能解决问题。

我发现错误来自Jenkins安装的Java版本。

更新的java-1.7.0-openjdk到java-1.8.0-openjdk做了诀窍

编辑:从Anatoly评论,更新java:

 sudo yum install java-1.8.0-openjdk 

然后删除旧版本:

 sudo yum remove java-1.7.0-openjdk.x86_64 

最后,重新启动jenkins服务

 sudo service jenkins restart 

通常tomcat服务正在接管8080端口。 尝试停止tomcat服务并重新运行jenkins服务。

服务tomcat停止;

服务jenkins开始

为我工作。

我得到了同样的错误,我无法以任何方式重新启动实例。

我在服务器做了一个“yum更新”,并解决了这个问题。

  • java版本“1.7.0_55”
  • 詹金斯ver。 1.571

刚刚经历了RHEL安装的这个问题。 我的修复是明确设置JENKINS_JAVA_CMD配置参数。

例如

 sudo vim /etc/sysconfig/jenkins update: JENKINS_JAVA_CMD="" to: JENKINS_JAVA_CMD="/usr/java/default/bin/java" 

只是一个预感 – 默认情况下,RHEL / CentOS在/ tmp目录上禁用文件执行。

尝试:

 mount -o remount,exec /tmp 

然后(重新)开始詹金斯。

这使得可以从/ tmp /目录执行二进制文件(也可以加载.so文件),看起来像Jenkins的这个特定包装需要加载某种类型的JNI代码。 当我尝试在CentOS 6.4上安装和运行时,这是我唯一的问题。

如果可行,那么你可以在启动时使用/ etc / fstab中的设置(可行,但会降低系统安全性)来启动,或者尝试破解你已经安装的启动过程不推荐),或者使用Tomcat或其他不需要在/ tmp目录下执行文件的包装来安装它(推荐使用,但需要更多的工作)。

从日志我的问题是java.io.FileNotFoundException:/var/cache/jenkins/war/META-INF/MANIFEST.MF(权限被拒绝)

从我的用户詹金斯开始交易的所有权就像“詹金斯”一样,chown'ing固定的问题

以下帮助我:

有些时候会出现一些jenkins过程,所以ps -ef | grep jenkins杀死所有的人,并重新启动,因为它将是干净的。

 ps -ef | grep jenkins sudo kill -kill <pid> 

从这里采取(感谢@sharp)

 cd /etc/sysconfig/jenkins 

更改JENKINS_AJP_PORT

从它改变

 JENKINS_AJP_PORT="8009" 

 JENKINS_AJP_PORT="-1" 

请按照以下步骤进行更改(假设 – 您想将端口8888设置为jenkins端口)

1.你必须编辑/etc/init.d/jenkins。

在DAEMON_ARGS后面的文件顶部添加以下两行:

HTTP_PORT = 8888 JENKINS_ARGS =“ – httpPort = $ HTTP_PORT”

2.编辑/ etc / sysconfig / jenkins

并改变

JENKINS_PORT = “8888”

从终端使用以下命令启动Jenkins服务

 service jenkins start 

检查Jenkins的状态

 service jenkins status 

希望它解决了你的问题。 如果您发现问题得到解决,请标记为答案

对于上述错误,我设法去/var/run/jenkins.pid并删除了一个已经存在的处理ID。

然后jenkins进程开始,现在运行成功。

确保jenkins.log文件的所有者是jenkins用户

 chown jenkins:jenkins jenkins.log 

如果没有正确的所有权,jenkins会在您开始服务后立即崩溃

尝试将用户从jenkins更改为/ etc / sysconfig / jenkins中的根目录

 JENKINS_USER="root" 

要么

检查/var/lib/jenkins /var/cache/jenkins

将所有权更改为jenkins,并将/ etc / sysconfig / jenkins中的用户更改为“jenkins”。 还要更改/var/logs/jenkins

 sudo vim /etc/sysconfig/jenkins update: JENKINS_USER="jenkins" to: JENKINS_USER="root" 

为我工作