Comment redémarrer un service Systemd lors d'un changement de fichier. J'ai un service Java que je veux recharger quand un fichier jar change.
Voici ma configuration:
srv.service
[Unit]
Description=srv 0.1: Service's description
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/srv
ExecStart=/opt/srv/bin/srv
User=root
Group=root
[Install]
WantedBy=multi-user.target
srv.path
[Path]
PathModified=/opt/srv/lib/
J'ai également essayé d'utiliser PathChangedet d'utiliser un fichier à la place d'un répertoire.
Lorsque j'ai installé le service, j'ai exécuté: sudo systemctl daemon-reloadet sudo systemctl enable srv
Merci!
srv.pathne peut faire que l'équivalent de systemclt start srv.service, donc pour automatiser les redémarrages, vous aurez besoin d'un autre service qui, une fois démarré, redémarre votre service.
systemctl start srv.path- et le faire démarrer au démarragesystemctl preset srv.path
pathunités ne sont utiles que pour activer (démarrer) d'autres unités. Ici, vous pourriez probablement créersrv-restart.pathavecPathChanged=/opt/srv/lib/etsrv-restart.serviceavecExecStart=systemctl restart srv.service.