在Jenkins上安装了一些插件后,需要重启Jenkins,由于忘了当初是怎么重启的,所以就问了GPT,下面是它的回答:

在这里插入图片描述

我想着,jenkins运行的好好的,还看什么状态,直接restart,然后…

sudo systemctl restart jenkins

在这里插入图片描述

竟然报错了,看看报错明细

sudo journalctl -xe

在这里插入图片描述

(这时候的我完全没意识到,问题已经暴露出来了)

Cannot create session: Already running in a session or user slice

(先不跳出我的思路,继续走)

省时间直接到:


行吧,那我看一下状态

sudo systemctl status jenkins

在这里插入图片描述

这仿佛就像:家里停电了,我去开灯验证一下,确实不亮。

restart不行,那我干脆stop吧,这回没报错,但是再start的时候,又会出现
在这里插入图片描述

解决方案

如果通过 systemctl 不能解决Jenkins重启的问题,那就用Jenkins自带的启停来解决

# 一般在这里
cd /etc/init.d

停止 Jenkins 服务:

sudo ./jenkins stop

检查 Jenkins 状态

sudo ./jenkins status

会看到,Jenkins 已经被停用

在这里插入图片描述

启动 Jenkins 服务

sudo ./jenkins start

启动成功会看到
在这里插入图片描述

原因分析

Jenkins 如果使用 Systemd 来管理服务,通常会在 /etc/systemd/system/ 目录中找到 Jenkins 的 Systemd 单元文件 jenkins.service ,但是,我并没有在 /etc/systemd/system/ 下看到 jenkins.service ,说明 Jenkins 并没有使用 Systemd 来管理服务,所以 sudo systemctl restart jenkins命令就无法执行Jenkins 安装目录中的脚本 。

使用 /etc/init.d/jenkins 脚本,可以执行以下操作:

操作命令
启动 Jenkins 服务sudo /etc/init.d/jenkins start
停止 Jenkins 服务sudo /etc/init.d/jenkins stop
重启 Jenkins 服务sudo /etc/init.d/jenkins restart
检查 Jenkins 服务的 状态sudo /etc/init.d/jenkins status
强制重新加载 Jenkins 服务配置sudo /etc/init.d/jenkins force-reload
Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐