【问题标题】:Why systemd dont restart service?为什么systemd不重启服务?
【发布时间】:2019-12-28 06:34:20
【问题描述】:

请帮忙。 我有这样的单位:

[Unit]
Description=Kafka_obed_exporter
Wants=network-online.target
After=network-online.target
After=kafka.service
Requires=kafka.service

[Service]
User=kafka_exporter
Group=kafka_exporter
Type=simple
ExecStart=/usr/local/bin/kafka_exporter --kafka.server=1.1.29.3:9092 --web.listen-address=1.1.29.2:9500
restart=always
RestartSec=10s
[Install]
WantedBy=multi-user.target

当我重新启动服务器时,此单元仅尝试启动一次,然后 - 失败并出现错误:

kafka_exporter.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
kafka_exporter.service: Failed with result 'exit-code'.

我知道它失败的原因——当我手动重新启动单元时,其他 kafka 节点还没有启动——它启动得很好。 我的问题是为什么 systemd 不t restart this unit ? as you can see im use options Restart=always, i think systemd will try restart this unit if it not started yet. In systemd log im:

Dec 28 09:05:29 audmain systemd[1]: Started Apache Zookeeper.
Dec 28 09:05:29 audmain systemd[1]: Started Apache Kafka.
Dec 28 09:05:29 audmain systemd[1]: Started Kafka_obed_exporter.
Dec 28 09:05:29 audmain systemd[1]: Starting Network Time Service...
.......
.......
Dec 28 09:05:36 audmain systemd[1]: kafka_exporter.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Dec 28 09:05:36 audmain systemd[1]: kafka_exporter.service: Failed with result 'exit-code'.

没有别的了。

【问题讨论】:

    标签: systemd


    【解决方案1】:

    它不会重新启动,因为您写的是 restart=always 而不是 Restart=always。 unix/linux 上的东西是区分大小写的。

    另外,管理单元依赖是systemd的主要业务。您可以告诉它在另一个单元之后启动一个单元。请参阅digitalocean.com tutorialman systemd.unit

    【讨论】:

    • 所以如果我将重新启动更改为重新启动它有帮助吗?谢谢
    • 一个简单的错误弄坏了我的脑袋:(抱歉这些问题。
    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 2017-10-05
    • 2016-04-09
    • 2014-06-02
    • 2021-01-08
    • 2021-10-27
    • 2022-10-23
    • 2013-03-25
    相关资源
    最近更新 更多