Перезагрузка и останов системы
В отличие от начальной загрузки, которая может быть выполнена одним-единственным способом, останов и перезагрузку можно выполнить несколькими способами:
- выключить питание;
- дать команду shutdown;
- использовать команды halt и reboot;
- послать процессору init сигнал TERM;
- уничтожить процесс init.
Выключение питания
Запомните раз и навсегда - такой способ останова неприемлем!!!. Это может привести не только к потере данных, но и к повреждению системных файлов.
Команда shutdown
Команда shutdown - самый безопасный способ инициирования останова или перезагрузки системы, либо возврата в однопользовательский режим.
Команда halt
Команда halt выполняет все основные операции, необходимые для останова системы. Для вызова этой команды можно в командной строке указать shutdown с опцией -h или просто ввести halt.
Команда reboot (ее алиас - fastboot)
Команда reboot почти идентична команде halt. Различие заключается в том, что машина перезагружается, а не останавливается. Команда reboot эквивалентна команде shutdown -r.
Посылка процессу init сигнала 15 (TERM)
Когда демон init получает сигнал TERM, он обычно уничтожает все пользовательские процессы, демоны, процессы getty и возвращает систему в однопользовательский режим.
# sync (эта команда сбросит "все, что нужно" на диск)
# kill -15 1 (демон init всегда имеет pid=1)
Уничтожение процесса init
# kill -9 1
Результаты уничтожения процесса init вообще говоря непредсказуемы. Процесс init настолько важен для работы системы, что если его уничтожить, то компьютер автоматически перезагрузится (некоторые ядра при этом выдают сообщение kernel panic). Это очень грубый способ перезагрузки. Лучше пользоваться командами shutdown или reboot.