Bagaimana cara memulai kembali layanan Systemd ketika file berubah. Saya punya layanan Java yang ingin saya muat ulang ketika ada perubahan file jar.
Ini adalah pengaturan saya:
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/
Saya juga mencoba menggunakan PathChanged
dan menggunakan file, bukan direktori.
Ketika saya menginstal layanan yang saya jalankan: sudo systemctl daemon-reload
dan sudo systemctl enable srv
Terima kasih!
Tampaknya jika Anda menamainya sama dengan layanan (dengan .path) file path merujuk ke layanan yang sama: freedesktop.org/software/systemd/man/systemd.path.html namun ... Saya tidak tahu jika hanya memulai layanan atau bahkan me-restart jika sudah berjalan
—
jamming
Seperti yang saya pahami dari dokumen,
—
Michał Politowski
srv.path
hanya bisa melakukan yang setara systemclt start srv.service
, jadi untuk mengotomatiskan restart Anda akan memerlukan layanan lain, yang ketika mulai me-restart layanan Anda.
Anda harus memulainya
—
Michael D.
systemctl start srv.path
- dan memulainya saat bootsystemctl preset srv.path
path
unit hanya berguna untuk mengaktifkan (memulai) unit lain. Di sini Anda mungkin dapat membuatsrv-restart.path
denganPathChanged=/opt/srv/lib/
dansrv-restart.service
denganExecStart=systemctl restart srv.service
.