小编naf*_*fmo的帖子

如何判断 systemd 服务启动的原因?

我试图找出为什么在系统上启动特定服务,我想知道是否有一个命令可以告诉为什么启动特定服务?

\n\n

当询问服务状态时,systemctl 声称它已被禁用,但它正在运行,而且我没有明确要求启动它,AFAICT。下面的输出(稍微匿名)

\n\n
# systemctl status myservice\n\xe2\x97\x8f myservice.service - My Service\n   Loaded: loaded (/usr/lib/systemd/system/myservice.service; disabled; vendor preset: disabled)\n   Active: active (running) since m\xc3\xa5n 2017-02-27 13:57:15 CET; 30min ago\n     Docs: http://www.example.com/\n Main PID: 4680 (ewe)\n   CGroup: /system.slice/myservice.service\n           \xe2\x94\x9c\xe2\x94\x804680 /opt/myservice/vbc/bin/myservice\n           \xe2\x94\x94\xe2\x94\x804944 /opt/myservice/vbc/bin/myservice\n
Run Code Online (Sandbox Code Playgroud)\n\n

正在启动一项已Before=myservice.service在其.service文件中设置的服务( no Requires),所以我对此表示怀疑,但我不能确定。

\n\n

这是在 CentOS 7.3 系统上运行的。

\n\n

编辑:我已经能够通过确保与上述服务具有Requires=,After=Wants=关系并且由瞬态运行一次服务启动的服务显式停止来解决该问题。执行此操作时,服务未启动。然而,我还没有更接近于弄清楚它最初为何开始。

\n\n

编辑:似乎只要重新启动与它有关系的服务之一,我的服务文件就会启动Requires。我没想到会发生这种情况,我认为这仅意味着我的服务在启动时会启动其他服务,而不是它也会启动我的服务。删除修复了Requires幻象重新启动。

\n

systemd centos7

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

centos7 ×1

systemd ×1