我试图限制服务(在容器中)重启的次数。操作系统版本为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) 我知道命令是什么,sytemctl disable NAME但我对NAME参数有疑问。
例如bluetoothFedora 21 上的service[1]。对于NAME参数,您应该输入bluetoothorbluetooth.service或bluetooth.target?
请注意,我以蓝牙为例,但问题是通用的(即,如果服务有许多关联的单元(即套接字、目标、服务))。
[1] 当我搜索蓝牙服务时,我发现了一些与“蓝牙”grep 字符串匹配的内容:
$ systemctl list-unit-files|grep -i bluetooth
bluetooth.service enabled
bluetooth.target static
Run Code Online (Sandbox Code Playgroud)