Bir dosya değiştiğinde bir Systemd hizmetini nasıl yeniden başlatırım. Herhangi bir jar dosyası değiştiğinde yeniden yüklemek istediğim bir Java hizmetim var.
Bu benim kurulumum:
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/
Ayrıca PathChangedbir dizin yerine bir dosyayı kullanarak ve kullanmayı denedim .
Ben hizmet yüklü zaman idam: sudo systemctl daemon-reloadve sudo systemctl enable srv
Teşekkürler!
Görünüşe göre hizmeti (.path ile) aynı şekilde adlandırırsanız, yol dosyası aynı hizmete başvurur: freedesktop.org/software/systemd/man/systemd.path.html ancak ... bilmiyorum yalnızca bir hizmeti başlatırsa veya zaten çalışıyorsa yeniden başlatırsa
—
sıkışma
Belgelerden anladığım gibi
—
Michał Politowski
srv.path, sadece eşdeğerini yapabilir systemclt start srv.service, bu nedenle yeniden başlatmaların otomatik olarak başlatılması için hizmetinizi yeniden başlatan başka bir hizmete ihtiyacınız olacaktır.
Başlamanız gerekiyor
—
Michael D.
systemctl start srv.path- ve önyüklemeye başlamalısınızsystemctl preset srv.path
pathbirimlerin sadece diğer birimleri etkinleştirmek (başlatmak) için yararlı olduğu görülüyor . Burada muhtemelen yaratabileceksrv-restart.pathilePathChanged=/opt/srv/lib/vesrv-restart.serviceileExecStart=systemctl restart srv.service.