Гид компьютерного мира - Информационный портал
  • Главная
  • Программы
  • Centos команда выключения. Мягкая перезагрузка и мгновенное выключение компьютера в Ubuntu

Centos команда выключения. Мягкая перезагрузка и мгновенное выключение компьютера в Ubuntu

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

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

Выключение 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 ну и тех кого интересует как перезагрузить Linux из консоли. Для меня перезагрузить компьютер в терминале или с помощью графического интерфейса это элементарно, но это база, не все новички ее знают и надо об этом написать.

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

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

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

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

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

Перезагрузка Linux в терминале

А здесь уже простор намного шире, существует около десятка команд, которыми можно перезагрузить 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

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

Удаленная перезагрузка Linux

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

ssh [email protected] /sbin/reboot

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

Выводы

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

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


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

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

Лучшие статьи по теме