Để khởi động lại daemon, hãy chạy
systemctl daemon-reexec
Đây là tài liệu trong các systemctlmanpage :
Xem lại trình quản lý systemd. Điều này sẽ tuần tự hóa trạng thái người quản lý, xem xét lại quy trình và giải tuần tự hóa lại trạng thái. Lệnh này ít được sử dụng trừ việc gỡ lỗi và nâng cấp gói. Đôi khi, nó có thể hữu ích như một trọng lượng nặng daemon-reload. Trong khi daemon đang được thực hiện lại, tất cả các socket hệ thống nghe thay mặt cho cấu hình người dùng sẽ vẫn có thể truy cập được.
Thật không may, không needs-restartingthể xác định rằng systemdđã thực sự khởi động lại. systemd execschính nó để khởi động lại, mà không thiết lập lại thời gian bắt đầu của quá trình; nhưng needs-restartingso sánh thời gian sửa đổi của thực thi với thời gian bắt đầu của quy trình để xác định xem có cần khởi động lại một quy trình hay không (và trong số những thứ khác), và kết quả là nó luôn luôn systemdcần phải khởi động lại ... Để xác định xem có systemdthực sự cần phải khởi động lại hay không, bạn có thể kiểm tra đầu ra của lsof -p1 | grep deleted: systemdsử dụng một thư viện, libsystemd-sharedđược gửi trong cùng một gói và do đó được nâng cấp cùng với trình nền, vì vậy nếu systemdcần được khởi động lại, bạn sẽ thấy nó sử dụng phiên bản thư viện đã xóa. Nếu lsofhiển thị không có tập tin bị xóa, systemdkhông cần phải khởi động lại. (Nhờ vàoJeff Schaller cho gợi ý!)
daemon-reexecđược cho là hoạt động ngay cả vớisystemdtư cách là 1.