J'ai essayé de limiter le nombre de redémarrages d'un service (dans un conteneur). La version du système d'exploitation est centos-release-7-5, le fichier de service est à peu près comme ci-dessous (supprimé certains paramètres pour faciliter la lecture). Cela devrait être assez simple, comme l'ont souligné certains autres messages (limite de redémarrage 1 après défaillance du serveur, limite de redémarrage 2 après dépassement de la pile). Pourtant, StartLimitBurst et StartLimitIntervalSec ne fonctionnent jamais pour moi.
J'ai testé de plusieurs façons: (1) Je vérifie le PID du service, tue le service avec "kill -9 ****" plusieurs fois. Le service est toujours redémarré après 20s! (2) J'ai également essayé de gâcher le fichier de service, de ne jamais exécuter le conteneur. Pourtant, cela ne fonctionne pas, le fichier de service continue de redémarrer.
Une idée?
[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