我正在尝试重新启动 Jenkins,但失败并显示以下错误。有人对此有任何线索吗?
$ service jenkins restart
Shutting down Jenkins killproc: Empty pid file /var/run/jenkins.pid for /usr/lib64/jvm/jre/bin/java
done
Starting Jenkins dirname: extra operand `/proc/13265/exe'
Try `dirname --help' for more information.
basename: missing operand
Try `basename --help' for more information.
failed
最佳答案
可能当你重新启动服务时,jenkins 不会删除/proc 目录中的文件。在启动 jenkins 之前执行此行:
find /proc -maxdepth 2 -user jenkins -name exe -lname '*/bin/java'
如果你有结果(就像我的情况一样),这意味着有一个较旧的/proc/XXXX 目录,并且 jenkins 创建了另一个目录。这就是这个过程失败的原因(在运行时有目录并导致错误)
分辨率
选项1:尝试删除执行“find /proc -maxdepth 2 -user jenkins -name exe -lname '*/bin/java'
”命令时出现的目录(由于权限原因我无法删除
选项2:修改文件/etc/init.d/jenkis,找到有以下代码的行:
JPROC=$( find /proc -maxdepth 2 -user $JENKINS_USER -name exe -lname "*/bin/java" )
并将其替换为这个:
JPROC=$( find /proc -maxdepth 2 -user $JENKINS_USER -name exe -lname "*/bin/java" | tail -1 )
第二个选项适合我。我应该告诉 Jenkins 的人们这个错误。
关于Jenkins重启错误,启动Jenkins目录名: extra operand `/proc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17789757/