我正在尝试重新启动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
答案 0 :(得分:3)
当你重新启动服务时,jenkins不会删除/ proc目录中的文件。在启动jenkins之前执行此行:
find /proc -maxdepth 2 -user jenkins -name exe -lname '*/bin/java'
如果你有结果(如我的情况),这意味着有一个较旧的/ proc / XXXX目录,jenkins创建另一个。这就是为什么这个过程失败的原因(在运行时有dirs并导致错误)
选项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 )
第二种选择对我有用。我应该告诉詹金斯人这个错误。