Jen chci vědět rozdíl mezi v
rebootinit 6shutdown -r now
a který je nejbezpečnější a nejlepší?
Přijatá odpověď:
Není v nich žádný rozdíl. Interně dělají přesně to samé:
-
rebootpoužíváshutdownpříkaz (s přepínačem -r). Příkaz shutdown slouží k ukončení všech běžících procesů, odpojení všech souborových systémů a nakonec říká jádru, aby vydalo ACPI power příkaz. Zdroj lze nalézt zde.
Ve starších distribucích příkaz reboot vynucoval ukončení procesů vydánímSIGKILLsignál (stále se nachází ve zdrojích, lze jej vyvolat pomocí-fvolba), v nejnovějších distribucích je výchozím nastavením elegantnější a init přívětivějšíinit 1 -> shutdown -r. To zajišťuje, že se démoni před vypnutím sami vyčistí. -
init 6říkáinitproces k vypnutí všech vytvořených procesů/démonů, jak jsou zapsány v init souborech (v opačném pořadí, v jakém byly spuštěny) a nakonec vyvolejteshutdown -r nowpříkaz k restartování počítače
Dnes v tom není velký rozdíl, protože oba příkazy dělají přesně totéž a respektují init skripty používané ke spouštění služeb/démonů tím, že pro ně vyvolávají vypínací skripty. Kromě reboot -f -r now jak je uvedeno níže
Existuje malé vysvětlení převzaté z manuálových stránek, proč reboot -f není bezpečný:
-f, --force
Force immediate halt, power-off, reboot. Don't contact the init system.
Upravit:
Zapomněl jsem zmínit, že v nadcházejících distribucích RHEL byste měli používat nový systemctl příkaz pro vypnutí/reboot. Jak je uvedeno v manuálových stránkách reboot a shutdown jsou „starším příkazem dostupným pouze pro kompatibilitu“. a systemctl metoda bude jediná bezpečná.