Chcę tylko poznać różnicę między
reboot
init 6
shutdown -r now
a który jest najbezpieczniejszy i najlepszy?
Chcę tylko poznać różnicę między
reboot
init 6
shutdown -r now
a który jest najbezpieczniejszy i najlepszy?
Odpowiedzi:
Nie ma w nich różnicy. Wewnętrznie robią dokładnie to samo:
reboot
używa shutdown
polecenia (z przełącznikiem -r). Polecenie shutdown użyte do zabicia wszystkich uruchomionych procesów, odmontowania wszystkich systemów plików i na koniec informuje jądro o wydaniu polecenia zasilania ACPI. Źródło można znaleźć tutaj . W starszych dystrybucjach komenda reboot zmusiła procesy do wyjścia poprzez wydanie SIGKILL
sygnału (wciąż znajdowanego w źródłach, można wywołać z -f
opcją), w najnowszych dystrybucjach domyślnie jest bardziej wdzięczny i przyjazny dla init init 1 -> shutdown -r
. Zapewnia to, że demony czyszczą się przed wyłączeniem.
init 6
mówi init
procesowi, aby zamknął wszystkie odrodzone procesy / demony zapisane w plikach init (w odwrotnej kolejności, w jakiej zostały uruchomione) i na koniec wywołuje shutdown -r now
polecenie ponownego uruchomienia komputera
Dzisiaj nie ma dużej różnicy, ponieważ obie komendy robią dokładnie to samo i szanują skrypty inicjujące używane do uruchamiania usług / demonów, wywołując dla nich skrypty zamykające. Z wyjątkiem przypadków reboot -f -r now
określonych poniżej
Na stronach podręcznika wyjaśniono, dlaczego reboot -f
nie jest to bezpieczne:
-f, --force Wymuś natychmiastowe zatrzymanie, wyłączenie zasilania, ponowne uruchomienie. Nie kontaktuj się z systemem init.
Edytować:
Zapomniałem wspomnieć, że w nadchodzących dystrybucjach RHEL powinieneś użyć nowego systemctl
polecenia, aby wydać polecenie poweroff / restart. Jak podano na stronach podręcznika reboot
i shutdown
są one „starszym poleceniem dostępnym tylko dla kompatybilności”. i systemctl
metoda będzie jedyną bezpieczną.
init 1 -> shutdown -r
?
Zalecane jest zamknięcie, ponieważ pozwala określić przyczynę drastycznego działania - coś, co zawsze należy zrobić. Wiadomość zostanie zapisana w dzienniku (ach) dla potomności. Na przykład:
shutdown -r now 'Kernel upgrade requires reboot'
Możesz także wykonać zaplanowane ponowne uruchomienie - określając coś innego niż now
czas ponownego uruchomienia:
shutdown -r 22:00 'Work around kernel memory leak'
Wówczas użytkownicy otrzymają okresowe przypomnienia, aby wydostać się w miarę upływu czasu - proces będzie bardziej uporządkowany i profesjonalny.
Na tradycyjnych jednorożcach reboot
i shutdown -r now
są bardzo różne polecenia. Przy typowym użyciu reboot
można bezpiecznie korzystać tylko w trybie pojedynczego użytkownika.
shutdown -r now
to kanoniczna metoda zamykania różnych * nixów, bezpieczniejsza w użyciu i ogólnie funkcjonalnie równoważna init 6
.
Na FreeBSD istnieje różnica między reboot
i shutdown -r now
. Ze strony podręcznika reboot
:
Zwykle narzędzie shutdown (8) jest używane, gdy system musi zostać zatrzymany lub zrestartowany, dając użytkownikom wcześniejsze ostrzeżenie o zbliżającym się przeznaczeniu i czysto kończąc określone programy.