Pertanyaan Apakah file unit sistem harus dimuat ulang ketika diubah?


Katakanlah saya menulis a mine.service mengajukan. Lalu saya gunakan systemctl enable mine.service.

Jika saya kemudian memutuskan untuk mengedit mine.service, harus saya katakan systemd bahwa mine.service sudah berubah? Jika ya, bagaimana saya melakukannya?


94
2018-06-23 03:17






Jawaban:


Setelah Anda membuat perubahan pada file unit Anda, Anda harus menjalankannya systemctl daemon-reload, sebagaimana diuraikan sini.

daemon-ulang
  Reload konfigurasi manager sistemd. Ini akan menjalankan kembali semua generator (lihat systemd.generator (7)), muat ulang semua file unit, dan buat ulang seluruh pohon ketergantungan. Saat daemon sedang dimuat ulang, semua soket systemd mendengarkan nama konfigurasi pengguna akan tetap dapat diakses.

Anda kemudian dapat me-restart (atau memuat kembali) layanan Anda sesuai keinginan Anda

systemctl restart your-service-name

(daemon-ulang tidak akan memuat ulang / me-restart layanan itu sendiri, hanya membuat sistem sadar akan konfigurasi baru)


113
2018-06-23 11:38



Saya menemukan saya juga perlu menjalankan systemctl restart untuk benar-benar me-restart layanan itu sendiri ... - hwjp
Untuk berjaga-jaga, daemon-reload tidak universal, harus dijalankan systemctl --user daemon-reload untuk layanan pengguna. - Olegs Jeremejevs


Sebagai tambahan jawaban di atas: Jika Anda mengubah sesuatu di [Install] direktif, Anda mungkin perlu menjalankan sudo systemctl reenable YOURUNITFILE untuk membuat ulang symlink di direktori .target.


1
2017-08-19 13:01



Ini berhasil untuk saya! Tidak mengerti mengapa systemctl tidak memuat ulang file layanan. - antonagestam