gladilov.org.ru gladilov.org.ua

Разница между командами выключения *nix

Техническая разница между различными командами выключениями системы.

*nix-систему можно выключить различными способами: можно использовать poweroff, shutdown, init, halt.

Результат выполнения команд выключения:

poweroff (команда выключения) посылает команду ACPI на выключение системы (как при однократном нажатии кнопки выключения питания);
shutdown (команда завершения) — позволяет выполнить отложенные операции с питанием. При этом утилита выводит оповещение всем залогинившимся пользователям о предстоящем завершении работы и может с помощью файла /run/nologin блокировать вход в систему за 5 минут до времени выключения (если указан аргумент времени) После вызываются системные и локальные {init/rc}.d-скрипты с параметром stop.. В конце вызывается тот же poweroff;
halt (команда останова) отдаёт команду аппаратному обеспечению приостановить все функции CPU, но оставляет систему включённой (в некоторых случаях использование команды без параметров полностью выключает ПК). На машинах с архитектурой x86 обычно происходит выключение, но на машинах Sun управление возвращается в «ROM monitor» для получения информации о состоянии системы. Как и reboot, команда сбрасывает кэш файловой системы на диск и посылает всем процессам сигналы TERM и KILL;
init (команда изменения уровня выполнения системы) — при переходе на уровень выполнения 0 производится остановка системы командой halt с помощью выполнения скриптов, соответствующих этому уровню.

В большинстве современных *nix-систем для обратной совместимости со старыми проприетарными ОСями эти команды выполняют одно и то же и ссылаются на один и тот же файл. Например, команды poweroff и shutdown представляют из себя символические ссылки на /bin/systemctl:

user@localhost:/sbin$ ls -l poweroff
lrwxrwxrwx 1 root root 14 Sep  5 18:01 poweroff -> /bin/systemctl
user@localhost:/sbin$ ls -l shutdown 
lrwxrwxrwx 1 root root 14 Sep  5 18:01 shutdown -> /bin/systemctl
Популярное
Наверх