当 Oracle Linux 7 上由 systemctl 维护的守护进程在生成后立即死亡时,我该如何进行故障排除?

当 Oracle Linux 7 上由 systemctl 维护的守护进程在生成后立即死亡时,我该如何进行故障排除?

我尝试通过 systemctl 运行 jenkins,但它在启动后立即死机。“systemctl status”和“journalctl”中没有任何内容。Jenkins 日志也没有显示任何内容。

我缩小了启动守护进程的代码段。在 /etc/init.d/functions 中的“daemon()”函数中:

 $cgroup $nice runuser -s /bin/bash $user -c "$corelimit 2>&1 ; $*"

当我将其打印出来时,它显示:

runuser -s /bin/bash jenkins -c ulimit -S -c 0 >/dev/null 2>&1 ;  \
/etc/alternatives/java -Djava.awt.headless=true \
-Djenkins.install.runSetupWizard=false -DJENKINS_HOME=/var/lib/jenkins \
-jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log \
-webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 \
--handlerCountMax=100 --handlerCountMaxIdle=2

当我从 CLI 手动运行它时,它运行良好。但是当通过“daemon()”运行时,它会在不到一秒的时间内死机。

如果重要的话,它是在 Oracle Linux 7 UEK4 上运行的。

更新:我尝试了以下场景:

1) systemctl start jenkins # FAILS
2) /etc/rc.d/init.d/jenkins start # FAILS
3) cp /etc/rc.d/init.d/jenkins /var/tmp; /var/tmp/jenkins start # SUCCESS

这很奇怪...

相关内容