Команда «shutdown» безопасно отключает систему. Все вошедшие в систему пользователи получают уведомление о том, что система выключается, а операции входа блокируются. Можно сразу выключить систему или после указанной задержки.
Выключение Linux из командной строки является очень удобным, и многие пользователи системы управляют своим ПК через командную строку в таких вещах. Все процессы сначала уведомляются о том, что система готовится к режиму сна или перезагрузке через SIGTERM. Это дает программам, таким как vi, время, чтобы сохранить редактируемый файл, программы обработки почты и новостей, возможность выхода из системы и т. д.
«Shutdown» выполняет свою работу, сигнализируя процессу init, прося его изменить уровень запуска. Уровень запуска 0 используется для остановки системы, уровень запуска 6 используется для перезагрузки системы, а уровень запуска 1 используется для перевода системы в состояние, в котором административные задачи могут выполняться (однопользовательский режим). Уровень запуска 1 по умолчанию, если не указаны опции -h или -r.
В вашей системе может быть другой набор параметров для команды завершения работы; Проверьте документацию устройства.
Выключение Linux из командной строки
shutdown [-akrhPHfFnc] [-t sec] time [message]
Выключение Linux из командной строки: примеры
- -a Управлять доступом к команде shutdown, используя файл доступа к управлению /etc/shutdown.allow. Для получения дополнительной информации см. Раздел «Контроль доступа» ниже.
- -k Не выключайте, а отправляйте предупреждающие сообщения, как будто выключение было реальным.
- -r Перезагрузка после выключения.
- -h Указывает системе завершить работу, а затем остановить ее.
- -P Поручает системе завершить работу, а затем выключить.
- -H Если указан параметр -h, эта опция указывает, что система должна загружаться в монитор загрузки в системах, которые его поддерживают.
- -f Пропустить fsck после перезагрузки.
- -F Принудительно выполнить fsck после перезагрузки.
- -n Не вызывать init для завершения процессов; Инструктируйте shutdown, чтобы сделать это сам.
- Использование этой опции не рекомендуется, и ее результаты не всегда предсказуемы.
- -c Отменить ожидающее завершение работы. (Это не относится к «shutdown now», который не ждет до выключения.) С помощью этой опции невозможно указать аргумент времени, но вы можете указать пояснительное сообщение, которое будет отправлено всем пользователям.
- —t sec. Сообщать инициалисту, чтобы подождать секунд между процессами отправки предупреждения и сигнала уничтожения, прежде чем перейти на другой уровень запуска.
- time Аргумент time указывает, когда следует выполнять операцию выключения.
Время может быть отформатировано по-разному:
Во-первых, это может быть абсолютное время в формате hh: mm, где hh — это час (1 или 2 цифры, от 0 до 23), а mm — это минута часа (в двух цифрах).
Во-вторых, он может быть в формате + m, где m — количество минут, чтобы ждать.
Кроме того, теперь слово такое же, как указание +0; Он немедленно отключает систему.
Message. Сообщение отправляемое всем пользователям, вместе со стандартным уведомлением о завершении работы.
Детали
Если выключение запланировано на будущее, он создаст консультативный файл / etc / nologin, который заставляет программы, такие как login, не допускать новых пользователей. Этот файл создается за пять минут до запуска последовательности выключения. Shutdown удаляет этот файл, если он остановлен до того, как он может сигнализировать об инициализации (то есть он отменен или что-то пошло не так). Он также удаляет его перед вызовом init для изменения уровня запуска.
Флаг -f означает «перезагрузка быстро». Это создает только консультативный файл / fastboot, который может быть проверен системой, когда он снова появится. Загрузочный rc-файл системы («rc» означает «runcom», который является сокращением от «run-команд») может проверить наличие этого файла и решить не запускать fsck, так как система была закрыта надлежащим образом. После этого процесс загрузки должен удалить / fastboot.
Флаг -F означает «force fsck». Это создает только консультативный файл / forcefsck, который может быть проверен системой, когда он снова появится. Загрузочный rc-файл может проверить, присутствует ли этот файл, и решит запустить fsck со специальным флагом «force», чтобы проверить правильность размонтированных файловых систем. После этого процесс загрузки должен удалить / forcefsck.
Флаг -n заставляет shutdown не вызывать init, а убивать все запущенные процессы. Shutdown отключит квоту, учет и обмены и размонтирование всех файловых систем.
Контроль доступа
Выключение может быть вызвано из init, когда нажата комбинация клавиш CTRL-ALT-DEL, если существует соответствующая запись в / etc / inittab. Это означает, что каждый, кто имеет физический доступ к консольной клавиатуре, может закрыть систему.
Чтобы это предотвратить, выключение может проверить, не зарегистрирован ли авторизованный пользователь. Если выключение вызывается с аргументом -a (добавьте это к вызову shutdown в / etc / inittab), он проверяет, есть ли файл / etc /shutdown.allow присутствует. Затем он сравнивает имена входа в этом файле со списком людей, которые вошли в систему на виртуальной консоли (из / var / run / utmp). Только если один из авторизованных пользователей или root входит в систему, он будет действовать. В противном случае оно будет писать сообщение
shutdown: no authorized users logged in
На физическую консоль системы. Формат /etc/shutdown.allow — одно имя пользователя в строке. Пустые строки и строки комментариев (с префиксом #) разрешены. В настоящее время в этом файле есть ограничение для 32 пользователей.
Обратите внимание: если /etc/shutdown.allow отсутствует, аргумент -a игнорируется.
Выключение Linux и питания компьютера
Опция -H просто устанавливает переменную среды инициализации INIT_HALT в HALT, а параметр -P просто устанавливает эту переменную в POWEROFF. Скрипт shutdown, который вызывает halt в качестве последней вещи в последовательности выключения, должен проверить эти переменные среды и вызвать halt с правильными параметрами для этих параметров, чтобы на самом деле иметь какой-либо эффект.
Файлы
/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow
Выключение Linux из командной строки: примеры
shutdown 8:00
Запланируйте выключение системы в 8 часов утра.
shutdown 20:00
Запланируйте выключение системы в 8 часов вечера.
shutdown +15 "Upgrading hardware, downtime should be minimal"
Запланируйте выключение системы через пятнадцать минут. Наряду с обычным уведомлением пользователей о завершении работы системы им будет дано описательное сообщение об обновлении оборудования.
shutdown now
Немедленно выключить Linux
shutdown -r now
Немедленно опустите систему и автоматически перезагрузите ее.
shutdown -P now
Немедленно выключите и автоматически отключите систему.
Связанные команды
- Halt — Остановить компьютер.
- Poweroff — Остановить компьютер.
- Reboot — Остановить компьютер.
- Wall — Отправить сообщение всем вошедшим в систему пользователям.
Перевод из замечательного английского ресурса computerhope.
Если у вас остались какие-то вопросы по теме «Выключение Linux из командной строки», то можете писать их нам в форму комментариев на сайте.