И ногда при отладке проблемы или обновлении ядра может потребоваться перезагрузить систему Linux. Если у вас есть автономный сервер, вам нужно знать, как перезагрузить систему из командной строки.

В современных дистрибутивах утилита systemctl заменяет большинство команд управления питанием, используемых в старых дистрибутивах Linux, на sysvinit. Старые команды reboot и shutdown являются псевдонимами systemctl и доступны в системе по причинам совместимости.

В этой статье мы покажем вам, как использовать команды systemctl и shutdown для перезагрузки машины Linux. Команды должны запускаться от имени пользователя root или пользователя с .

Как перезагрузить Linux с помощью команды systemctl

Чтобы перезагрузить систему Linux, запустите утилиту systemctl с командой reboot:

sudo systemctl reboot

Система будет перезапущена немедленно.

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

Чтобы запретить команде reboot отправлять сообщение, выполните команду с параметром –no-wall:

sudo systemctl --no-wall reboot

Если вы хотите установить собственное сообщение, объясняющее причину перезагрузки, используйте параметр –message=:

sudo systemctl --message="Обновление оборудования" reboot

Сообщение будет показано в журналах:

System is rebooting (Обновление оборудования)

Как перезагрузить Linux с помощью команды shutdown

Чтобы перезагрузить систему Linux, используйте команду shutdown с опцией -r:

sudo shutdown -r

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

Аргумент времени может иметь два разных формата. Это может быть абсолютное время в формате hh:mm и относительное время в формате, +m где m – это количество минут с этого момента.

В следующем примере будет запланирована перезагрузка системы на 10 часов утра:

sudo shutdown -r 10:00

Чтобы немедленно выключить вашу систему, используйте +0 ее псевдоним now:

sudo shutdown -r now

Чтобы отправить собственное сообщение вместе со стандартным уведомлением о завершении работы, введите свое сообщение после аргумента времени.

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

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

Синтаксис команды shutdown

П режде чем увидеть использование команды shutdown , давайте сначала рассмотрим ее синтаксис. shutdown
  • options: вы можете указать, хотите ли вы остановить, выключить питание, перезагрузить и т. д.
  • time: вы можете указать, когда выполнять выключение
  • message: вы можете отправить пользовательское сообщение всем зарегистрированным пользователям

Примечание

Команда shutdown нуждается в привилегиях суперпользователя. Следовательно, вы должны либо быть root, либо запустить команду с sudo.

5 практических примеров команды shutdown в Linux

Теперь, когда вы знаете синтаксис команды shutdown, давайте посмотрим, как ее использовать.

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

Sudo shutdown Shutdown scheduled for Mon 2018-11-19 23:46:21 UTC, use "shutdown -c" to cancel.

Ничего не подозревающие пользователи Linux ожидают, что команда shutdown немедленно отключит систему, но когда они увидят такое сообщение, как отметка времени в UTC, они часто путаются.

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

Вам не всегда приходится ждать минуту, чтобы система отключилась. Вы можете немедленно завершить свою систему, указав запланированное время +0 или now .

Sudo shutdown now

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

Вы можете запланировать остановку в будущем, указав аргумент времени либо в формате + t, либо в формате hh: mm.

Например, если вы хотите завершить работу системы через 20 минут, вы можете использовать эту команду:

Sudo shutdown +20

Если вы хотите завершить работу системы в 3 часа дня, вы можете использовать ее следующим образом:

Sudo shutdown 15:00

Излишне говорить, что контрольное время и часовой пояс – это системное время.

Примечание

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

3. Перезагрузка системы командой shutdown

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

Чтобы перезагрузить систему с помощью команды shutdown, используйте параметр -r.

Sudo shutdown -r

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

Итак, если вы использовали shutdown -r без каких-либо аргументов времени, она перезагрузку через одну минуту.

Вы можете запланировать перезагрузку так же, как и при выключении.

Sudo shutdown -r +45

Вы также можете сразу перезагрузить систему командой shutdown:

Sudo shutdown -r now

4. Передача пользовательского сообщения

Если вы работаете в многопользовательской среде, и в систему входит несколько пользователей, вы можете отправить им собственное широковещательное сообщение с командой shutdown.

По умолчанию все зарегистрированные пользователи получат уведомление о запланированном отключении и времени. Вы можете настроить широковещательное сообщение в самой команде shutdown:

Sudo shutdown 15:00 "Система будет остановлена для обновления оборудования, пожалуйста, сохраните свою работу"

Вы можете использовать команду shutdown с опцией -k, чтобы инициировать «фальшивое завершение». Он не выключит систему, но широковещательное сообщение будет отправлено всем зарегистрированным пользователям.

5. Отменить запланированное выключение

Если вы запланировали выключение, вам не обязательно жить с ним. Вы всегда можете отменить выключение с помощью опции -c.

Sudo shutdown -c

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

Sudo shutdown -c "запланированное выключение было отменено"

Halt vs Power off

Halt (опция -H): завершает все процессы и завершает работу ЦПУ,
Power off (опция -P): Очень похоже на остановку, но также выключает сам блок.

Исторически ранее компьютеры использовали для остановки системы, а затем печатали сообщение, подобное «теперь нормально выключите», а затем компьютеры были отключены с помощью физических переключателей.

В эти дни, прекращение должно автоматически отключить питание системы благодаря поддержки ACPI.

Это были наиболее распространенные и наиболее полезные примеры команды shutdown в Linux. Надеюсь, вы узнали, как отключить систему Linux через .

Если у вас есть какие-либо вопросы или предложения, не стесняйтесь, дайте нам знать в разделе комментариев.

Казалось бы, что может быть проще? Всего-то - выключить или перезапустить сервер под управлением Linux. Для выключения достаточно ввести команду

Sudo shutdown -h now

Для перезагрузки

Sudo shutdown -r now

Sudo reboot

Данные мероприятия даже в техническом отношении (не касаясь сопутствующих организационных моментов) только на первый взгляд могут показаться простыми. Но опытные системные администраторы знают, что для любой ОС даже штатный и корректный перезапуск может повлечь негативные последствия. Во многом это связано с качеством предшествующих перезапуску технического обслуживания и эксплуатации. Поэтому нужно понимать, что самые обычные перезагрузка или выключение Linux. Без преувеличения являются достаточно ответственными действиями.И об этом администраторам всегда необходимо помнить.

Перезагрузка и остановка системы - почему это так важно?

ОС Linux доверяют работу, которая должна обеспечивать долговременное и надёжное функционирование сложных агрегатов, технологических установок, серверов баз данных (БД), веб-серверов и т.д.. Которыми пользуется большое количество пользователей, операторов и обслуживающего персонала. Выключение и перезапуск неизбежны для любой системы. Но данные мероприятия должны осуществляться с минимальными рисками. Как для выполняемых серверами задач, так и для пользователей.

Когда-то UNIX и Linux были довольно чувствительны перезапускам. Но с появлением высоконадёжных журналируемых файловых систем (ФС) выполнять остановку или перезапуск стало гораздо безопаснее. Однако вероятность повреждения конфигурации или самой ОС при некорректном выключении компьютера (или сервера) полностью не исключена. Например нештатное завершение работы серверов БД очень часто приводит к нарушению целостности данных и повреждению таблиц. Не важно какая при этом система управления БД (СУБД) используется для их обслуживания. Проблемы, которые возникают в Linux, как правило, довольно сложно выявляемые. Потому как архитектурные особенности самого Linux позволяют функционировать даже при наличии сложных коллизий. Но когда приходит время перезапуска ОС, то часто эти скрытые проблемы тут же проявляются. Что нередко сопровождается крахом.

Опытные системные администраторы знают, что когда в систему вносятся какие-либо изменения, например модифицируется сценарии запуска, конфигурация отдельных компонентов и т. п., то очень желательно проводить перезапуск, чтобы удостовериться, что после данных изменений система работает нормально. Ну и обязательно проверить , чтобы не пропустить появление скрытых и сложных проблем. При этом нужно помнить, что проблемы могут проявиться не сразу и даже не через пару недель - на это влияет очень много факторов и всё зависит от конкретной ситуации.

Команда shutdown

Эта команда позволяет безопасно и технически «правильно» произвести перезапуск, остановку ОС или перевести её в однопользовательский режим. Для разных систем команда shutdown имеет различную спецификацию, касающуюся синтаксиса и опций, поэтому разумно рассмотреть её в общих чертах, затронув лишь некоторые особенности использования.

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

Характер выполняемого действия shutdown задаётся через параметры и таковыми могут быть:

  • нормальный остановка;
  • нормальный остановка с последующим автоматическим запуском (перезагрузка);
  • переход в однопользовательский режим;
  • некоторые другие сопутствующие действия (в зависимости от системы), например проверка устройств хранения командой .

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

В следующей таблице приведены основные опции shutdown для некоторых систем Linux:

Система Путь R H S F
Linux /sbin/shutdown -r -h -f
Solaris /usr/sbin/shutdown -i6 -i0 -iS
HP-UX /etc/shutdown -r -h
AIX /sbin/shutdown -r -h -m

Для данной системы используются следующие обозначения: R – перезапуск, H – нормальная остановка, S – продолжение работы в однопользовательском режиме, F – запретить проверку fsck (актуально только для SUSE и Red Hat).

Для того, чтобы остановить Linux в 8:30 (например для проведения регламентных работ по техническому обслуживанию серверов) с уведомлением об этом пользователей, следует выполнить следующую команду:

$ sudo shutdown -h 08:30 "Внимание! С 08:30 до 13:00 Проводятся регламентные работы. Приносим извинения за неудобства."

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

$ sudo shutdown -h +30 "Внимание! Проводятся регламентные работы."

Команды halt и reboot

Эти команды стоит рассмотреть в контексте того, что они хоть и могут использоваться независимо сами по себе, но, как правило вызываются всё той же командой shutdown .

При вызове halt выполняются все основные действия, необходимые для нормального выключения ОС. Так например, сначала выполняется завершение всех некритичных процессов, в журнал регистрации заносится сообщение о выключении, далее производится выполнение системного вызова sync и ожидание освобождения устройств хранения от операций записи. Затем останавливается работа системного ядра.

Одной из важных опций halt является ключ -n . Он запрещает использование системный вызов sync для того, чтобы ядро не восстанавливало «старые» образы корневого раздела, хранящиеся в его кеше. Другими словами, halt -n используется после того, как был восстановлен раздел при помощи .

Команда reboot отличается от halt лишь тем, что производит перезапуск по-умолчанию. Однако её можно использовать для выполнения некоторых полезных действий перед перезагрузкой системы. Например, можно не отправлять сообщения о предстоящей перезагрузке (стоит заметить, что далеко не всегда это бывает полезным…) пользователям используя ключ —no-wall . Если необходимо просто внести запись о событии в файл /var/log/wtmp (этот файл регистрирует все события входа и выхода в ОС), то нужно воспользоваться ключом -w (или —wtmp-only ), при этом перезагрузки не произойдёт. Для выполнения перезагрузки без внесения записей в файл /var/log/wtmp , существует ключ -d (или —no-wtmp ). Также при помощи команды reboot возможно выполнять остановку системы и выключение машины, используя ключи —halt и -p (—poweroff ) соответственно. Для принудительной и немедленной перезагрузки используется ключ -f (—force) . В большинстве систем все ключи, описанные для команды reboot применяются и для команды halt с тем же значением.

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

То SysRq может выручить в самых, казалось бы, безвыходных ситуациях, если, конечно, ядро не в «панике», о чём обычно свидетельствуют хаотически мигающие светодиоды клавиатуры . Интересно? Тогда читаем дальше.

Клавиша SysRq появилась задолго до того, как виндоводы начали делать скриншоты . Первоначально по замыслу IBM клавиша SysRq предназначалась для переключения между приложениями без прекращения их работы. Но это уже история. Линуксоиды же приспособили SysRq, чтобы давать пользователю экстренный доступ к ядру. Но и тут не всё просто. Дело в том, что для совместимости с Windows в линуксных графических средах одиночная клавиша SysRq работает, как PrintScreen, а сочетание Alt+SysRq, рекомендуемое в учебниках по консоли, так же, как и в Windows, тупо помещает картинку активного окна в буфер . Поэтому в оконных Линуксах клавиши SysRq ...тоже нет! Вместо этой клавиши в линуксных графических средах употребляется волшебное сочетание Alt+Ctrl+SysRq+латинская буква/цифра, существенно увеличивающее вашу власть над машиной.

M – выводит объём занятой памяти . В Ubuntu работает, если вы предварительно установите высокий уровень подробности вывода.

N – выводит список задач реального времени. Также работает, если вы предварительно установили высокий уровень вывода.

E – аварийно прекращает работу всех процессов, кроме init.

I – убивает все процессы, включая init.

T – выводит список задач в консоль.

S – cинхронизирует все файловые системы , записывая все буферизованные данные на жесткий диск.

R – принудительно возвращает клавиатуру в рабочее состояние. При этом ядро начинает работать с клавиатурой напрямую, минуя X-сервер, и только в кодах ASCII.

T – выводит список процессов. Опять же работает только при высоком уровне подробности вывода.

P – дамп регистров процессора . Запрос может быть интересен тем, кто занимается отладкой ПО.

Q – выводит события хард-таймеров. Работает, если установлен высокий уровень подробности вывода.

O – срочно выключает компьютер.

B – перезагружает компьютер . Правда, сообщают, что при ядре 3.8.0-25 происходит не перезагрузка, а выключение. Но сам я не проверял.

U – перемонтирует все файловые системы в режим «только чтение».

V – восстанавливает фреймбуфер консоли. Допустим, вы просматриваете в виртуальной консоли какой-нибудь видеоролик (да-да, Линукс, в отличие от Windows, позволяет и это), а вам срочно нужно вспомнить, что вы делали в консоли до запуска ролика. Команда восстановит фреймбуфер консоли. Вообще же следовало бы рассказать подробнее об этой занятной штуке – фреймбуфер, но не в этой статье.

W – показывает все зависшие задачи, если таковые имеются.

Z – выводит содержимое буфера трассировки работы ядра.

Итак, ВНЕЗАПНО ваш Линукс завис так, что не помогает даже перезагрузка «иксов» клавишами Alt+Del+BS. Спокойствие, только спокойствие. Ни в коем случае не спешите жать кнопку reset на корпусе компьютера. С очень высокой вероятностью вы не потеряете данные при последовательном нажатии клавиш R-E-I-S-U-B (удерживаем Alt+Ctrl+SysRq !). И знаете что? Всегда можете мгновенно выключать нормально работающий компьютер сочетанием Alt+Ctrl+SysRq+O. Если, конечно, вы закрыли свои программы. :)

Однако, думается, что опасно делать доступной волшебную SysRq, если вы пускаете других пользователей удалённо работать на вашей машине или же сами работаете с ней удалённо. Дело в том, что сигнал break, посланный с удалённой консоли, может быть интерпретирован как Alt+SysRq, со всеми вытекающими последствиями. Поэтому если вы решили дать удалённый доступ к своей машине, то на всякий случай предварительно обнулите в системном конфиге переменную kernel.sysrq. Можно также написать на баше простенький скрипт для этого и даже прикрутить к нему кнопку на рабочем столе, чтобы каждый раз не заморачиваться редактированием файла управления системным конфигом. Успехов!

Проблема
Только посмотрите, сколько существует способов выключения и перезагруз ки: 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.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png