首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Systemctl无法启动服务

Systemctl无法启动服务
EN

Unix & Linux用户
提问于 2020-08-06 12:06:59
回答 2查看 1.4K关注 0票数 1

昨天,我不得不更改我的had配置,我注意到我无法用systemctl重新启动它。我不得不用手发射。

今天我不得不重新启动码头,同样的事情也发生了。

journalctl -xesystemctl restart haproxy之后:

代码语言:javascript
复制
-- Unit haproxy.service has begun starting up.
Aug 06 11:19:30 ns3038251 systemd[1]: haproxy.service: Control process exited, code=dumped status=7
Aug 06 11:19:30 ns3038251 systemd[1]: haproxy.service: Failed with result 'core-dump'.
Aug 06 11:19:30 ns3038251 systemd[1]: Failed to start HAProxy Load Balancer.
-- Subject: Unit haproxy.service has failed

对于码头工人:

代码语言:javascript
复制
-- The start-up result is RESULT.
Aug 06 11:19:08 ns3038251 systemd[1]: containerd.service: Main process exited, code=dumped, status=7/BUS
Aug 06 11:19:08 ns3038251 systemd[1]: containerd.service: Failed with result 'core-dump'.

我知道这不是配置文件问题,因为当我在控制台中运行haproxycontainerd (然后是dockerd)时,它们都能工作。

问题是,互联网没有提供太多的信息,我也不知道我可以尝试调试什么,这是在一个远程服务器上,我不想重新启动,以防它在启动时无法启动。顺便说一下,我最近什么都没做,比如更新

谢谢你给我的任何建议

编辑:自从发帖以来,我一直很忙,几分钟前我回到了服务器上。从那以后,我什么也没做,回到了同一个tmux窗口。

现在没有问题了,systemctl restart haproxysystemctl restart docker。我不明白这里发生了什么..。

EN

回答 2

Unix & Linux用户

发布于 2020-08-06 12:25:48

尝试获取运行ps aux | grep 'haproxy'的进程,然后获取该进程PID,然后使用kill -9 PID终止它。那就再试一次。

票数 2
EN

Unix & Linux用户

发布于 2020-08-06 14:09:53

如果systemctl不能启动它,它很可能是少数几件事情之一:

  1. Systemctl认为它正在运行,这是由于一些旧的PID文件或编写不好的启动脚本造成的。Systemctl不会运行配置为只运行一个副本的两个副本。
  2. Systemctl的新安全特性导致最初工作的启动脚本失败。最近(过去一年),许多供应商在systemctl中增加了符号链接保护,如果您在某些文件中添加了符号链接,systemctl将不会遵循符号链接。这听起来很奇怪,但它可以防止您的系统被“符号链接劫持”。
  3. 您可以使用su或sudo启动服务。这过去是可行的,但这种方法也会带来安全问题,因此许多Linux供应商已经将systemctl改为使用"runas“作为用户转移程序。Runas不会因为su或sudo允许的攻击而遭受弱点。

当然,这可能是完全不同的;但是,如果服务文件、pid文件或服务文件启动的exec脚本中有这些项,那么您可能已经更新了软件,并发现以前工作的服务现在存在问题。这很可能是因为以前工作的服务被配置为以一种不太理想的方式启动,而且配置需要更新。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/603143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档