Щоб перезапустити демон, запустіть
systemctl daemon-reexec
Це відображено в на systemctlсторінках керівництва :
Заново виконайте системний менеджер. Це дозволить серіалізувати стан менеджера, відновити процес і знову дезаріалізувати стан. Ця команда малокорисна, за винятком налагодження та оновлення пакетів. Іноді це може бути корисним як великоваговик daemon-reload. Поки демон демонструється, усі сокети, які систематизовано слухати від імені користувальницької конфігурації, залишатимуться доступними.
На жаль, needs-restartingне можна визначити, що systemdнасправді перезапустили. systemd execsперезапустити себе, що не скидає час початку процесу; але needs-restartingпорівнює час модифікації виконуваного файлу з часом початку процесу, щоб визначити, чи потрібно процес перезапустити (серед іншого), і як результат, він завжди вважає, що systemdйого потрібно перезапустити ... Щоб визначити, чи systemdдійсно потрібно перезапустити, Ви можете перевірити вихід lsof -p1 | grep deleted: systemdвикористовує бібліотеку, libsystemd-sharedяка постачається в одному пакеті і, таким чином, модернізується разом з демоном, тому, якщо systemdпотрібно буде перезапустити, ви побачите його, використовуючи видалену версію бібліотеки. Якщо lsofне показано видалених файлів, systemdйого не потрібно перезавантажувати. (ЗавдякиДжефф Шаллер для підказки!)
daemon-reexecяк передбачається, працює навіть зsystemdpid 1.