Linux 詹金斯死了,但pid文件存在
我遇到了一个新安装的Jenkins无法访问的问题。这是错误和操作系统详细信息:启动jenkins时会显示“OK”状态消息,但如果我运行status all | grep jenkins,则会显示:Linux 詹金斯死了,但pid文件存在,linux,jenkins,Linux,Jenkins,我遇到了一个新安装的Jenkins无法访问的问题。这是错误和操作系统详细信息:启动jenkins时会显示“OK”状态消息,但如果我运行status all | grep jenkins,则会显示: jenkins dead but pid file exists 在Red Hat Enterprise Linux Server 6.2版(圣地亚哥)上运行,使用Yum作为包管理器 rpm -qa | grep java java-1.7.0-openjdk-1.7.0.19-2.3.9.1.e
jenkins dead but pid file exists
在Red Hat Enterprise Linux Server 6.2版(圣地亚哥)上运行,使用Yum作为包管理器
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 ..
以前有人解决过这个问题吗?只是预感-RHEL/CentOS默认情况下在/tmp目录上禁用了文件执行 尝试: 然后(重新)开始詹金斯 这使得可以从/tmp/目录执行二进制文件(也可以加载.so文件),这看起来像是Jenkins的这个特殊打包需要加载某种JNI代码。当我尝试在CentOS 6.4上安装和运行时,这是我遇到的唯一问题
如果这样做有效,那么您可以使用/etc/fstab中的设置将其设置为默认情况下在启动时发生这种情况(可行,但会降低系统的安全性),或者尝试破解您已安装的安装的启动过程(不推荐),或者使用Tomcat或其他不需要在/tmp目录上执行文件的打包进行安装(建议进行更多工作)。将
JENKINS_AJP_PORT=“8009”
(或任何值)更改为JENKINS_AJP_PORT=“-1”
它肯定会工作。我遇到了相同的错误,我无法以任何方式重新启动实例 我在服务器上进行了“yum更新”,解决了这个问题
- java版本“1.7.0_55”
- 詹金斯1.571版
service jenkins start
检查詹金斯的状态
service jenkins status
从日志来看,我的问题是 java.io.FileNotFoundException:/var/cache/jenkins/war/META-INF/MANIFEST.MF(权限被拒绝)
chown'ing从我的用户Jenkins处获得的所有权与“Jenkins”相同,它修复了问题刚刚在RHEL安装中遇到的问题。我的修复方法是显式设置Jenkins_JAVA_CMD配置参数 例如
以下几点帮助了我: 有一段时间会有一些过时的jenkins进程,因此ps-ef | grep jenkins会杀死所有这些进程,然后重新启动,如上所述,它将是干净的
ps -ef | grep jenkins
sudo kill -kill <pid>
ps-ef | grep jenkins
sudo kill-kill
取自(感谢@sharp)通常tomcat服务会接管8080端口。 尝试停止tomcat服务并重新运行jenkins服务 服务tomcat停止; 服务开始 为我工作
cd /etc/sysconfig/jenkins
更改JENKINS_AJP_港口
从
JENKINS_AJP_PORT="8009"
到
对于上面的错误,我设法转到/var/run/jenkins.pid并删除了一个已经存在的处理ID 然后jenkins进程启动,现在运行成功
sudo vim /etc/sysconfig/jenkins
update:
JENKINS_USER="jenkins"
to:
JENKINS_USER="root"
为我工作确保
jenkins.log
文件的所有者是jenkins用户
chown jenkins:jenkins jenkins.log
如果没有正确的所有权,jenkins将在您启动服务后立即崩溃,而在遵循AWS教程时,我遇到了完全相同的错误 更换端口并没有解决问题 我发现错误来自于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
尝试在/etc/sysconfig/jenkins中将用户从jenkins更改为root
JENKINS_USER="root"
或
检查所有权
/var/lib/jenkins
/var/cache/jenkins
将所有权更改为jenkins,并将/etc/sysconfig/jenkins中的用户更改为“jenkins”,这样就可以了。
同时更改
/var/logs/jenkins
的所有权我所犯的错误实际上是由于/var/run/jenkins
由root用户而不是jenkins
用户所拥有。以下内容为我解决了这个问题:
sudo chown -R jenkins:jenkins /var/run/jenkins
在以下文件中:
/etc/sysconfig/jenkins
我必须设置以下值:
JENKINS_USER="root"
当您的机器升级Java和Jenkins之前安装的旧版本Java时,也会出现这种情况。
更改jenkins.xml中的Java路径。查看日志文件,看看会出现什么错误。catalina.out如何?该文件也是空的吗?我的文件中有各种内容。还有一个conf/logging.properties,可以用来调整日志详细性。此框中没有tomcat。-由以下文档安装:@user3811048 I有相同的问题,但有点不同。当Jenkins停止GitLab时,GitLab is可以通过浏览器访问,当GitLab停止时,Jenkins可以通过浏览器访问,但不能同时访问两者,即使是运行在8080端口的Jenkins和运行在80端口的GitLab。
mount:在/etc/fstab或/etc/mtab中找不到/tmp
-我收到这个错误。注意对于下一个想要否决这个答案的人:错误“jenkins死了,但pid文件存在”也就是说,你启动了jenkins,它死了,只剩下pid文件。这个错误信息不足以说明它为什么死。我的答案是基于直觉。仅仅因为你的jenkins不工作,你不知道为什么,并不意味着你应该否决我的答案;)我觉得下面的帖子说的很有趣“它肯定会工作”同样可能不起作用——原因与上述相同。请否决这个答案——特别是如果你不知道如何管理Linux机器或你的机器出了什么问题的话。@coding\u idot-只是为子孙后代回答-这是e
sudo chown -R jenkins:jenkins /var/run/jenkins
/etc/sysconfig/jenkins
JENKINS_USER="root"