相关疑难解决方法(0)

Systemd 的 StartLimitIntervalSec 和 StartLimitBurst 从不工作

我试图限制服务(在容器中)重启的次数。操作系统版本为centos-release-7-5,服务文件大致如下(为了阅读方便去掉了一些参数)。正如其他一些帖子指出的那样,它应该非常简单(服务器故障后重启限制 1 ,堆栈溢出重启限制 2 后)。然而 StartLimitBurst 和 StartLimitIntervalSec 对我来说从来没有用。

我测试了几种方法:(1)我检查服务PID,多次使用“kill -9 ****”杀死服务。该服务总是在 20 秒后重新启动!(2)我也试过把服务文件弄乱,让容器永远运行不起来。仍然,它不起作用,服务文件只是不断重新启动。

任何的想法?

[Unit]
Description=Hello Fluentd
After=docker.service
Requires=docker.service
StartLimitBurst=2
StartLimitIntervalSec=150s

[Service]
EnvironmentFile=/etc/environment
ExecStartPre=-/usr/bin/docker stop "fluentd"
ExecStartPre=-/usr/bin/docker rm -f "fluentd"
ExecStart=/usr/bin/docker run fluentd
ExecStop=/usr/bin/docker stop "fluentd"
Restart=always
RestartSec=20s
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

linux systemd

20
推荐指数
2
解决办法
3万
查看次数

如何禁用 systemd 中的服务?

我知道命令是什么,sytemctl disable NAME但我对NAME参数有疑问。

例如bluetoothFedora 21 上的service[1]。对于NAME参数,您应该输入bluetoothorbluetooth.servicebluetooth.target?

请注意,我以蓝牙为例,但问题是通用的(即,如果服务有许多关联的单元(即套接字、目标、服务))。


[1] 当我搜索蓝牙服务时,我发现了一些与“蓝牙”grep 字符串匹配的内容:

$ systemctl list-unit-files|grep -i bluetooth
bluetooth.service                           enabled 
bluetooth.target                            static  
Run Code Online (Sandbox Code Playgroud)

systemd services

6
推荐指数
1
解决办法
3858
查看次数

标签 统计

systemd ×2

linux ×1

services ×1