Restartowanie init bez restartowania systemu

13

W tym pytaniu zaakceptowane odpowiedzi stwierdzają, że

Na przykład / sbin / init używa glibc [podatna na zagrożenia lib], a restartowanie go bez ponownego uruchomienia nie jest trywialne.

Teraz to, co nietrywialne, jest inżynierią niemożliwe , ale wciąż jestem ciekawy:

Czy można zrestartować init bez restartowania całego systemu?

Sebb
źródło
4
W tym przypadku „nietrywialne” to inżynieria dla „Nie wiem jak to zrobić”.
Gilles „SO- przestań być zły”

Odpowiedzi:

16
telinit u

uruchomi się ponownie initbez wpływu na resztę systemu.

Stephen Kitt
źródło
Nie taka szalona praca, jak się spodziewałem / oczekiwałem, ale poprawna. Dziękuję :)
Sebb
5
Nie mogę sobie wyobrazić, że sysv init wykonuje jakiekolwiek wywołania gethostbyname () itp., A na pewno nie z danymi pochodzącymi spoza systemu, więc nie rozważam ponownego uruchomienia initpriorytetu w kontekście błędu ghosta.
wurtel
4
Działa to dla sysvinit i systemd (odpowiednik systemd daemon-reexec).
Braiam
1
Nie działa to ze wszystkimi implementacjami init we wszystkich wariantach Uniksa (IIRC w systemie AIX nie masz pracy), ale o ile wiem, działa ze wszystkimi implementacjami init, które mogą być powiązane z glibc.
Gilles „SO- przestań być zły”
2

Proste init uzałatwia sprawę!

Następnie zypper psnie zgłasza już usuniętych plików procesu inicjowania.

Tomasz
źródło