• Команда выключения linux. Выключение Linux из командной строки

    03.08.2023

    То 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. Можно также написать на баше простенький скрипт для этого и даже прикрутить к нему кнопку на рабочем столе, чтобы каждый раз не заморачиваться редактированием файла управления системным конфигом. Успехов!

    Эта статья ориентирована на самых новичков в Linux ну и тех кого интересует как перезагрузить Linux из консоли. Для меня перезагрузить компьютер в терминале или с помощью графического интерфейса это элементарно, но это база, не все новички ее знают и надо об этом написать.

    Сегодня мы рассмотрим такие вопросы, как команда перезагрузки Linux из консоли, перезагрузка удаленно, и непосредственно перезагрузка в графическом интерфейсе. Начнем, пожалуй, с обычной перезагрузки системы.

    Здесь, как говорится, что может быть проще. Рассмотрим сначала перезагрузку в Ubuntu Unity. Достаточно нажать на кнопку с шестеренкой в правом верхнем углу экрана, и выбрать пункт Выключение :

    Затем в открывшимся окне кликнуть по пункту :

    В окружении рабочего стола Gnome, все очень похоже на Unity, а в KDE нужно открыть главное меню, перейти на вкладку выход , и выбрать пункт перезагрузить :

    Затем подтвердить перезагрузку.

    А здесь уже простор намного шире, существует около десятка команд, которыми можно перезагрузить Linux. Одним нужны root привилегии, другим нет, одни выглядят просто и легко запоминаются, а другие длинные и сложные. Дальше мы рассмотрим их все.

    Первая команда перезагрузки Linux, самая распространенная и самая простая:

    Как видите, утилите нужны права суперпользователя. После нажатия Enter компьютер сразу уйдет в перезагрузку.

    Утилита shutdown, которая используется для выключения тоже позволяет перезагрузить компьютер для этого нужно передать ей параметр -r. Плюс к тому же можно указать время перезагрузки. Сейчас - 0 или now, через одну минуту +1 через две - +2 и т д:

    sudo shutdown -r +1

    В системах инициализации совместимых с Init Scripts, существовали уровни загрузки системы - 0,1,2,3,4,5,6, уровень 0 - означал выключение, 6 перезагрузку, остальные режимы работы системы нас сейчас не интересуют. Переключаться между уровнями можно командой init. Только опять же нужны права суперпользователя. Таким образом:

    Служба системных сообщений dbus тоже умеет перезагружать компьютер:

    /usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

    Тут уже не нужны права суперпользователя. Это были обычные способы перезагрузки Linux, но есть еще один, нестандартный или даже два. Это магические SysRq клавиши. Ядро Linux отслеживает нажатие определенных сочетаний клавиш, и в ответ на них выполняет нужные действия. Сначала включаем поддержку sysrq:

    echo 1 > /proc/sys/kernel/sysrq

    Лучше это сделать заблаговременно, так как этот способ полезен когда система зависла и ни на что не реагирует:

    nano /etc/sysctl.conf

    kernel.sysrq = 1

    Для активации SysRq сочетания зажмите Alt + SysRq и нажмите код клавиши. Для нормальной перезагрузки рекомендуется использовать следующую последовательность: R E I S U B , клавиши нажимать в той же последовательности с интервалом приблизительно секунду.

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

    Перед перезагрузкой система ожидает завершения всех процессов, останавливает все сервисы, отключает и монтирует в режиме только чтения файловые системы. Это мы и делаем, нажимая последовательно эти сочетания клавиш. Но если вам нужно перезагрузить систему сейчас не дожидаясь отключения всех процессов, например, сервер, можно сразу отправить сигнал B. Вот так: Alt + SysRq + B .

    SysRq можно задействовать и без сочетаний клавиш, записав нужный код операции в файл /proc/sysrq-trigger:

    echo b > /proc/sysrq-trigger

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

    Если у вас есть доступ к серверу по ssh то можно очень просто удаленно перезагрузить linux с помощью одной из выше приведенных команд, например:

    ssh [email protected] /sbin/reboot

    Только опять же для этой операции нужно иметь права root на удаленном сервере.

    Выводы

    Теперь вы знаете как выполняется перезагрузка linux, вы даже знаете и как перезагрузить сервер по ssh. Если у вас остались вопросы, спрашивайте в комментариях!

    Похожие записи:


    И ногда при отладке проблемы или обновлении ядра может потребоваться перезагрузить систему 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 минут и уведомит пользователей, что будет выполнено обновление оборудования.

    Буферы файловых систем Linux хранятся в памяти и лишь изредка записываются на диск. Это ускоряет выполнение операций дискового ввода-вывода, но повышает риск потери данных в случае внезапного сбоя.

    Традиционные UNIX- и Linux-системы были очень требовательны в отношении про­цедуры выключения. Современные системы более терпимы (особенно если речь идет о такой высоконадежной файловой системе, как ext3fs), но все же лучше корректно завер­шать работу, если это возможно. Неправильное выключение компьютера может привес­ти к появлению трудно обнаруживаемых, неочевидных ошибок, а иногда и к полному краху системы.

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

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

    Если модифицируется один из сценариев запуска системы, то нужно перезагрузиться хотя бы для того, чтобы проверить, успешно ли функционирует система после измене­ний. Если какая-либо проблема не проявится в течение нескольких ближайших недель, впоследствии вы вряд ли вспомните подробности последних изменений.

    В отличие от начальной загрузки, которая осуществляется единственным способом, остановить и перезагрузить систему можно по-разному:

    • выключить питание;
    • ввести команду shutdown ;
    • использовать команды halt и reboot ;
    • изменить уровень выполнения демона init с помощью команды telinit ;
    • выполнить команду poweroff , чтобы попросить систему выключить питание.

    Выключение питания в Linux

    Даже в системах настольных компьютеров выключение питания - не лучший спо­соб останова системы. Это может привести к потере данных и повреждению файловых систем.

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

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

    Команда shutdown : корректный способ останова системы

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

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

    С помощью команды shutdown можно указать, что должна сделать система после выполнения команды: остановиться (-h) или перезагрузиться (-r). Можно также задать, должна ли после перезагрузки выполняться принудительная проверка дисков с помо­щью команды fsck (-F) или нет (-f). По умолчанию Linux автоматически пропускает эту проверку, если файловые системы были корректно демонтированы.

    Следующая команда напоминает пользователям о запланированной процедуре сер­висного обслуживания и отключает систему в 9:30 утра:

    $ shutdown -h 09:30 "Going down for scheduled maintenance. Expected downtime is 1 hour"

    Можно также задать относительное время отключения. Например, приведенная ниже команда запустит процесс выключения через 15 минут:

    $ shutdown -h +15 "Going down for emergency disk repair."

    Команда halt : более простой способ останова

    Команда halt выполняет все основные операции, необходимые для останова системы.

    Обычно она вызывается командой shutdown -h , но может применяться и сама по себе. Команда регистрирует в журнальном файле факт останова, уничтожает несущест­венные процессы, выполняет системный вызов sync, дожидается завершения операций записи на диск, а затем прекращает работу ядра.

    При наличии опции -n системный вызов sync подавляется. Команда halt -n ис­пользуется после восстановления корневого раздела командой fsck , чтобы ядро не мог­ло затереть исправления старыми версиями раздела, хранящимися в кэше.

    Команда reboot : быстрый перезапуск

    Команда reboot почти идентична команде halt . Разница лишь в том, что система перезагружается, а не останавливается. Режим перезагрузки вызывается также командой shutdown -r . Команда reboot тоже поддерживает флаг -n .

    Команда telinit : изменение уровня выполнения демона init

    С помощью команды telinit можно дать демону init указание перейти на кон­кретный уровень выполнения. Например, команда

    Интерфейс 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 на английском языке (ассоциация с занятостью, равно — недоступностью системы).

    Похожие статьи