Jenkins重启错误,启动Jenkins dirname:额外的操作数`/ proc

时间:2013-07-22 14:10:13

标签: jenkins continuous-integration jenkins-plugins

我正在尝试重新启动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

1 个答案:

答案 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 )

第二种选择对我有用。我应该告诉詹金斯人这个错误。