本地使用systemctl启动服务可以成功,远程失败,可以尝试如下方法

我的一个gateway-server-service-8211.service 服务,本机执行 systemctl start gateway-server-service-8211.service 都可以成功,如果使用脚本远程执行这个脚本:

ssh 192.168.31.152 "systemctl daemon-reload&& systemctl start gateway-server-service-8211.service" 很多时候不成功,根据日志,远程启动瞬间返回 143代码,根本没有拉起gateway服务。

如果出现上述问题,可以使用如下方式:


ssh your_user@192.168.31.152"sudo systemctl daemon-reload && sudo systemctl restart gateway-server-service-8211.service && sudo systemctl is-active --quiet gateway-server-service-8211.service"

为什么这么写?

  • sudo1 确保有权限操作 systemd。

  • restart通常比先 stop 再 start 更稳健。

  • &&   确保前一步成功才执行下一步。

  • is-active --quiet这步最关键。启动命令发出去后,立即检查服务状态。如果服务启动瞬间挂掉(比如配置错误),这个命令会返回非 0,Jenkins 就会立刻报错,而不是傻等。

请先 登录 后评论
  • 0 关注
  • 0 收藏,21 浏览
  • shitian 提出于 2025-12-05 11:01

相似问题