Выключение Linux из командной строки. Linux: перезагрузка и выключение системы Выключение системы линукс команда терминала

Команда «shutdown» безопасно отключает систему. Все вошедшие в систему пользователи получают уведомление о том, что система выключается, а операции входа блокируются. Можно сразу выключить систему или после указанной задержки.

Выключение Linux из командной строки является очень удобным, и многие пользователи системы управляют своим ПК через командную строку в таких вещах. Все процессы сначала уведомляются о том, что система готовится к режиму сна или перезагрузке через SIGTERM. Это дает программам, таким как vi, время, чтобы сохранить редактируемый файл, программы обработки почты и новостей, возможность выхода из системы и т. д.

«Shutdown» выполняет свою работу, сигнализируя процессу init, прося его изменить уровень запуска. Уровень запуска 0 используется для остановки системы, уровень запуска 6 используется для перезагрузки системы, а уровень запуска 1 используется для перевода системы в состояние, в котором административные задачи могут выполняться (однопользовательский режим). Уровень запуска 1 по умолчанию, если не указаны опции -h или -r.

В вашей системе может быть другой набор параметров для команды завершения работы; Проверьте документацию устройства.

Выключение Linux из командной строки

shutdown [-akrhPHfFnc] [-t sec ] time [message ]

  1. -a Управлять доступом к команде shutdown, используя файл доступа к управлению /etc/shutdown.allow. Для получения дополнительной информации см. Раздел «Контроль доступа» ниже.
  2. -k Не выключайте, а отправляйте предупреждающие сообщения, как будто выключение было реальным.
  3. -h Указывает системе завершить работу, а затем остановить ее.
  4. -P Поручает системе завершить работу, а затем выключить.
  5. -H Если указан параметр -h, эта опция указывает, что система должна загружаться в монитор загрузки в системах, которые его поддерживают.
  6. -f Пропустить fsck после перезагрузки.
  7. -F Принудительно выполнить fsck после перезагрузки.
  8. -n Не вызывать init для завершения процессов; Инструктируйте shutdown, чтобы сделать это сам.
  • Использование этой опции не рекомендуется, и ее результаты не всегда предсказуемы.
  1. -c Отменить ожидающее завершение работы. (Это не относится к «shutdown now», который не ждет до выключения.) С помощью этой опции невозможно указать аргумент времени, но вы можете указать пояснительное сообщение, которое будет отправлено всем пользователям.
  2. t sec . Сообщать инициалисту, чтобы подождать секунд между процессами отправки предупреждения и сигнала уничтожения, прежде чем перейти на другой уровень запуска.
  3. time Аргумент time указывает, когда следует выполнять операцию выключения.

Время может быть отформатировано по-разному:

Во-первых, это может быть абсолютное время в формате hh: mm, где hh — это час (1 или 2 цифры, от 0 до 23), а mm — это минута часа (в двух цифрах).

Во-вторых, он может быть в формате + m, где m — количество минут, чтобы ждать.

Кроме того, теперь слово такое же, как указание +0; Он немедленно отключает систему.

  1. 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 из командной строки: примеры

Запланируйте выключение системы в 8 часов утра.

Запланируйте выключение системы в 8 часов вечера.

shutdown +15 "Upgrading hardware, downtime should be minimal"

Запланируйте выключение системы через пятнадцать минут. Наряду с обычным уведомлением пользователей о завершении работы системы им будет дано описательное сообщение об обновлении оборудования.

Немедленно выключить Linux

Немедленно опустите систему и автоматически перезагрузите ее.

Немедленно выключите и автоматически отключите систему.

Связанные команды

  • Halt — Остановить компьютер.
  • Poweroff — Остановить компьютер.
  • Reboot — Остановить компьютер.
  • Wall — Отправить сообщение всем вошедшим в систему пользователям.

Перевод из замечательного английского ресурса computerhope .

Если у вас остались какие-то вопросы по теме «Выключение Linux из командной строки», то можете писать их нам в форму комментариев на сайте.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .

Осмотрим, как перезагрузить или выключить компьютер из командной строки. Я пользуюсь этим, когда при установке какого-то драйвера или при сильной нагрузке на процессор, интерфейс перестает реагировать на мои действия (хотя это приключается крайне редко). Можно убить «прожорливый» процесс через командную строку, но не постоянно известно какой это процесс, поэтому быстрое решение это перезагрузка компьютера.

Время от времени требуется удаленно перезагрузить или выключить операционную систему под управлением Linux из командной строчки. Сделать это можно различными способами, их то мы и рассмотрим.

Все ниже перечисленные команды надо исполнять из под пользователя root.

Опции задают параметры отключения, их мы рассмотрим ниже. Время возможно задавать в формате чч:мм в 24 часовом формате. Также можно использовать запись +минутки, указывающую через сколько минут от текущего момента нужно выключить компьютер linux. Вдобавок доступна константа now, указывающая, что выключать нужно прямо сейчас. Команда shutdown, с источником -h.

Как видите, используется обычное выключение, и константа времени now, тоесть сейчас. Сейчас попробуем запланировать выключение компьютера linux через пять минут:

sudo shutdown -h +5 "Пк будет выключен через 5 минут"

Для завершения работы системы служат команды halt и poweroff. Первоначальная команда завершает работу системы, но не выключает ее питание. Вы увидите сообщение «System is halted», указывающее о возможности выключения питания. Данная команда предназначена для старых компьютеров, не поддерживающих наращенное управление питанием. Вторая (poweroff) завершает работу системы (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство ) и выключает ее питание.

Выключение Linux с помощью halt

Команда идентична команде reboot по своим действиям, отличалка в том, что команда halt выключает систему. Также компьютер можно выключить выполнив бригаду:

Использование halt может повредить систему!

Эта команда тоже отключает компьютер. Только делает она это очень по-своему. Она не выполняет никаких подготовительных действий пред выключением, а просто отключает питание.

Выключение Linux с помощью poweroff

Команда poweroff схожа команде halt, кроме того, что после остановки системы посылается специальный запрос системе управления кормлением на отключение питания, что позволяет дистанционно отключать системы. А также можно использовать:

Выключение Linux с помощью telinit 0

С помощю этой команды можно задать демону init перейти на некоторый уровень выполнения, а именно цифра 0 говорит о том что нужно прейти на 0-ой уровеь (остановка системы). Бригада telinit не поддерживает задание паузы и вывода предупреждающих сообщений. Обычно используется при испытанию изменений внесеных в файл inittab.

Выключить Linux из командной строки без sudo

Возможно через dbus и ConsoleKit. Им можно управлять через dbus. Только вот его вроде выпиливают теперь повсюду.

ConsoleKit — это такой демон, обслуживащий пользовательские сессии.

Если у тебя systemd, то фокус-покус не прокатит. Может заглянут знатоки и подскажут, как это сделать через logind.

dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

Вот и все, обсуждение основных способов выключение и перезагрузки Linux систем из командной строки завершено. Сейчас вы знаете все что нужно, о том, как выключить Linux через терминал. Если вас застигнет врасплох опечатка или зависание компьютера, вы знаете что делать.

Интерфейс Ubuntu Linux отличается довольно хорошей стабильностью, но иногда все же требуется и его перезапуск. Сделать это можно несколькими способами. В данной статье я приведу способы для перезапуска нескольких окружений рабочего стола.

Что делать, если завис весь интерфейс Ubuntu

В последних версиях системы Ubuntu, Lubuntu и Xubuntu требуется перезапуск LightDM. Выполняется это коммандой:

Sudo service lightdm restart

Для окружения Kubuntu следует воспользоваться командой:

Sudo /etc/init.d/kdm restart

Что делать, если зависла программа

Что, если не отвечает окно программы? Если нету необходимости перезагружать весь интерфейс, например, если зависло определенное графическое приложение, то в таком случае можно воспользоваться удобной утилитой xkill .
Чтобы с помощью этой утилиты закрыть определенное приложение нужно нажать комбинацию клавиш ALT+F2 и написать xkill , после чего кликнуть Enter на клавиатуре.
После выполненной операции курсор мышки на экране превратится в крестик и при нажатии таким курсором на любое выбранное окно — процесс, выполняемый в нем (сама программа, которая зависла) завершится.

Что делать, если все зависло полностью

Если компьютер с ubuntu не реагирует ни на какие действия пользователя, тогда следует воспользоваться следующей инструкцией:

Ubuntu зависала намертво

Что делать, если операционная система Ubuntu зависла полностью и не реагирует даже на сочетание клавиш для переключения в терминал (ALT+F1-F7)?
В данной ситуации можно применить метод мягкой (безопасной) перезагрузки с помощью определенной команды.
Необходимо одновременно нажать клавиши Alt + PrtScnSysRq и не отпуская их по очереди нажать слудующую комбинацию: R E I S U B
После этого ПК перезагрузится.
Что происходит при использовании данной комбинации?

Для того, чтобы запомнить данную команду можно запомнить слово BUSIER на английском языке (ассоциация с занятостью, равно — недоступностью системы).

Проблема
Только посмотрите, сколько существует способов выключения и перезагруз ки: shutdown, halt, init 0, poweroff, Ctrl+Alt+Delete... Каким из них лучше пользо ваться?
Решение
Выбор не столь существенен; используйте тот способ, который вам больше под ходит. Следующие команды выключения могут использоваться только привиле гированным пользователем root:
# shutdown -h now
или
# poweroff
или
#halt
Выключение через шесть минут:
# shutdown -h +6
Команда shutdown рассылает оповещения всем подключенным пользователям.
Вы можете указать собственный текст:
# shutdown -h +6 "Time to stop working and start partying."
Консольные пользователи увидят следующее сообщение:
Broadcast message from root (pts/6) Wed Aug 14 13:51:24 2003
Time to stop working and start partying.
The system is going DOWN for system halt on 6 minutes!
Чтобы отменить выключение компьютера, выполните следующую команду
с правами root:
# shutdown -с
Перезагрузка выполняется командой
# shutdown -г now
или
# reboot
или нажатием Ctrl+Alt+Delete. Любой пользователь может перезагрузить ком пьютер, если только не отключить данную возможность в /etc/inittab (в разде ле 7.11 рассказано, как запретить перезагрузку или предоставить разРешениекон кретным пользователям).
Комментарий
Помните, что процесс выключения всегда должен быть контролируемым. Всем
компьютерам, в том числе и машинам с системой Linux, приходится проделать
немалый объем работы, чтобы питание можно было безопасно выключить. Сис тема должна завершить работу служб, демонтировать файловые системы и сбро сить буферы на диск.
Команды shutdown, poweroff и halt выполняются только привилегированным
пользователем root. Ограничение выглядит довольно глупо, потому что у любого
оконного менеджера и среды настольной системы имеется собственное меню вы ключения, а любой пользователь, находящийся поблизости от компьютера, мо жет нажать кнопку питания. Но такова жизнь, и с этим приходится смириться.
Возможный выход - предоставить ограниченные привилегии для выполнения ко манд выключения командой sudo. Другое Решениеосновано на создании специ альной группы пользователей, которым разрешено выключение.
См. также
shutdown(8), poweroff(8); раздел 8.20; раздел 8.21.

Выключение компьютера - действие, с которым обычные пользователи сталкиваются чуть ли не каждый день. Если выключать сервер приходится довольно редко, то обычные, десктопные компьютеры подвержены этой операции очень даже часто. Большинство пользователей выключают linux в графическом интерфейсе системы. В окружении рабочего стола KDE это делается через главное меню, а в Gnome и Unity даже есть специальная кнопка на панели для решения этой задачи.

Но не всегда есть возможность выключить компьютер linux таким образом. Например, если окружение рабочего стола не работает, то больше ничего не остается, кроме того, чтобы выполнять выключение компьютера из командной строки. К тому же выключение компьютера linux через терминал единственно возможный способ для серверов, где нет графического интерфейса. Как вы увидите, этот способ также намного гибче обычного выключения, поскольку вы можете настроить нужное время отключения, или же выключить компьютер, дождавшись завершения работы определенной программы.

Чтобы выключить компьютер Linux используется команда shutdown. Есть также команды poweroff, halt, но они для нестандартных случаев. Обычно же хватает одной только shutdown. Также выключить linux из консоли можно с помощью сочетаний клавиш SysRq. Но сначала давайте рассмотрим синтаксис команды shutdown.

Синтаксис команды очень простой:

$ shutdown [опции] [время] [сообщение]

Опции задают параметры отключения, их мы рассмотрим ниже. Время можно задавать в формате чч:мм в 24 часовом формате. Также можно использовать запись +минуты, указывающую через сколько минут от текущего момента нужно выключить компьютер linux. Также доступна константа now, указывающая, что выключать нужно прямо сейчас.

Параметр сообщение позволяет задать сообщение, которое будет выведено в терминал перед выключением.

Опции

  • --help - вывести справку по программе
  • -H, --halt - отключить питание, не завершая процессы и не перемонтируя файловые системы
  • -P, --poweroff - нормальное выключение
  • -k - не выполнять реальных действий, а только вывести сообщение
  • --no-wall - выключить компьютер, но не выводить сообщение
  • -c - отменить запланированное выключение linux из командной строки

Вот в принципе и все опции утилиты, их больше чем достаточно для такого простого действия. Теперь можно переходить к примерам, но сначала давайте рассмотрим, что же происходит во время включения Linux.

Процесс выключения Linux

Естественно, команда shutdown linux или любая другая не самостоятельно завершает работу системы и выключает компьютер. Она всего лишь передает запрос на выключение системе инициализации, а затем ядру. А уже они выполняют ряд сложных операций по подготовке и выключению компьютера. Если кратко, то вот они:

  • Завершение процессов пользователя
  • Сигнал SIGTERM всем процессам
  • Сигнал SIGKILL всем процессам
  • Монтирование файловых систем в режиме только для чтения
  • Подготовка внешних устройств к отключению
  • Блокировка пространства пользователя, чтобы гарантировать, что ни один код пользователя больше не будет запущен
  • Завершение работы и отключение питания большинства периферических устройств
  • Отключение питания компьютера

Теперь вы понимаете суть процесса выключения и то почему нельзя просто выдернуть шнур питания с розетки. Если это сделать, компьютер отключится моментально и не выполнит всех необходимых операций, а это может грозить потерей не сохраненных или даже недавно сохраненных данных, повреждением файловой системы и т д. Поэтому желательно выключать компьютер правильно с помощью shutdown или других специальных утилит.

А теперь перейдем к примерам.

Выключение компьютера в Linux

1. shutdown

Самая простая и самая часто используемая команда выключения компьютера linux, отключит компьютер немедленно:

sudo shutdown -h now

Как видите, используется обычное выключение, и константа времени now, тоесть сейчас.

Теперь попробуем запланировать выключение компьютера linux через пять минут:

sudo shutdown -h +5 "Компьютер будет выключен через 5 минут"

Мы запланировали вывод сообщения перед выключением.

Теперь давайте отменим выключение компьютера Linux:

sudo shutdown -c

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

sudo shutdown -h 21:00

Как я уже говорил, не только команда shutdown linux умеет выключать компьютер, есть еще несколько утилит способных на это. Рассмотрим их тоже.

2. reboot

Команда reboot обычно используется для перезагрузки системы, но она также умеет выключать компьютер. Мы не будем ее подробно рассматривать, потому, что она еще проще команды shutdown. Для выключения нужно задать опцию -p:

3. halt

Эта команда тоже выключает компьютер. Только делает она это очень по-своему. Она не выполняет никаких подготовительных действий перед выключением, а просто отключает питание:

Использование halt может повредить систему

4. poweroff

Это аналог halt, делает в точности то же самое:

5. SysRq

Помните, в начале статьи, я говорил о сочетании клавиш для включения компьютера? Рассмотрим этот вопрос подробнее.

SysRq - это подсистема, реализованная на уровне ядра. Ядро обрабатывает все нажатия клавиш, а с помощью этой подсистемы, оно может принимать от пользователя команды, даже когда система полностью зависла. Основное предназначение этой подсистемы - работа с компьютером в проблемных ситуациях, например, если вы думаете что ваш компьютер заразил вирус, или компьютер завис и его нужно выключить. Для доступа к SysRq используются сочетания клавиш Alt+PrtScr+номер

Самое интересное, что мы можем выполнить безопасное выключение компьютера linux. Для этого зажмите клавиши Alt + PrtScr и поочередно нажимайте:

  • R - разблокировать клавиатуру
  • E - послать всем процессам сигнал SIGTERM
  • I - послать всем процессам сигнал SIGKILL
  • S - перенести все данные из кеша файловых систем на диск
  • U - перемонтировать файловые системы только для чтения
  • B - перезагрузить

Также вместо всего этого можно воспользоваться сочетанием клавиш Alt+PrtScr+O , в таком случае, вся процедура будет выполнена автоматически, эта команда поддерживается не всеми ядрами.

Выводы

Теперь вы знаете все что нужно, о том, как выключить Linux через терминал. Если вас застигнет врасплох ошибка или зависание компьютера, вы знаете что делать. Если остались вопросы - пишите в комментариях!