שאלה האם יש לטעון מחדש את קבצי המערכת של systemd בעת שינוי?


נניח שאני כותב mine.service קובץ. ואז אני משתמש systemctl enable mine.service.

אם מאוחר יותר החלטתי לערוך mine.service, אני צריך לספר systemd כי mine.service שונה? אם כן, איך אני עושה את זה?


95
2018-06-23 03:17






תשובות:


לאחר שתבצע שינויים בקובץ היחידה שלך, עליך להפעיל systemctl daemon-reload, כפי שתואר כאן.

טען מחדש
  טען מחדש את תצורת מנהל המערכת. פעולה זו תציג מחדש את כל הגנרטורים (ראה systemd.generator (7)), טען מחדש את כל קבצי היחידה, וליצור מחדש את עץ התלות כולו. בעוד הדמון נמצא מחדש, כל שקעי המערכת מקשיב בשם תצורת המשתמש יישאר נגיש.

לאחר מכן תוכל להפעיל מחדש (או לטעון מחדש) את השירות שלך כפי שאתה רוצה עם

systemctl restart your-service-name

(לטעון מחדש daemon לא לטעון מחדש / להפעיל מחדש את השירותים עצמם, רק עושה systemd מודע לתצורה החדשה)


118
2018-06-23 11:38



מצאתי שאני גם צריך לרוץ systemctl restart כדי להפעיל מחדש את השירות עצמו ... - hwjp
במקרה ש, daemon-reload הוא לא אוניברסלי, צריך לרוץ systemctl --user daemon-reload עבור שירותי משתמש. - Olegs Jeremejevs


כתוספת לתשובה לעיל: במקרה ששינית משהו ב [Install] , ייתכן שיהיה עליך לפעול sudo systemctl reenable YOURUNITFILE על מנת ליצור מחדש את הסימניות ב ספריות טרגט.


2
2017-08-19 13:01



זה עשה את הטריק בשבילי! לא קיבלתי את זה למה systemctl לא היה מחדש את קובץ השירות. - antonagestam