Linux shutdown или poweroff

DATAENGINER

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

Обычно, когда вы хотите выключить или перезагрузить компьютер, вы выполните одну из следующих команд:

Команда выключения shutdown

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

В качестве первого аргумента вы можете указать строку времени (обычно это «now»(сейчас) или «чч: мм» для часов/минут). Кроме того, вы можете разослать сообщение всем авторизованным пользователем, с предупреждением о выключении системы.

Важное замечание: Если вы задаете время, то за 5 минут до выхода из системы создается файл /run/nologin, чтобы гарантировать, что после этого времени, ни кто из пользователей не сможет войти в систему.

Чтобы отменить выключение системы, просто введите команду ниже:

Команда Остановки

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

Обратите внимание, что в некоторых случаях он полностью отключает систему. Ниже приведены примеры команд остановки:

Команда выключения poweroff

poweroff отправляет сигнал ACPI, который дает команду системе выключиться.

Ниже приведены примеры команд poweroff:

Команда перезагрузки

reboot передает команду системе для совершение перезагрузки.

Это все! Как упоминалось ранее, понимание этих команд позволит эффективно и надежно управлять сервером Linux в многопользовательской среде.

Источник

linux

ВЫКЛЮЧЕНИЕ LINUX ИЗ КОМАНДНОЙ СТРОКИ

  • Получить ссылку
  • Facebook
  • Twitter
  • Pinterest
  • Электронная почта
  • Другие приложения

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

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

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

СИНТАКСИС SHUTDOWN

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

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

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

Читайте также:  Avr studio linux mint

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

ПРОЦЕСС ВЫКЛЮЧЕНИЯ 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 Shutdown, PowerOff и Reboot

Команды shutdown, poweroff и reboot являются наиболее важными командами выключения питания в Linux.

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

Читайте также:  Поврежден windows system32 winload exe

Здесь мы увидим, как использовать команду Linux shutdown и poweroff для выключения / выключения системы.

Также команду reboot для перезагрузки системы.

Чтобы иметь возможность завершить работу или перезагрузить систему, вы должны войти в систему как пользователь root или пользователь с привилегиями sudo.

Как использовать команду shutdown

Команда shutdown в Linux безопасно отключает систему.

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

Команда shutdown является простой командой и доступна во всех разновидностях Linux, таких как CentOS, Ubuntu, Debian или Fedora.

  • OPTIONS – параметры выключения, такие как останов (-h), перезагрузка (-r) или выключение питания (-P по умолчанию)
  • TIME – указывает, когда выполнять отключение (+ m, чч: мм или сейчас)
  • MESSAGE – широковещательное сообщение всем зарегистрированным пользователям.

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

Процесс выключения начинается через 1 минуту (интервал по умолчанию).

Выключение системы немедленно

Используйте now в команде shutdown, чтобы немедленно привести систему в режим 0.

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

Расписание выключения системы

Вы можете запланировать отключение сервера, указав относительное время в формате чч: мм (24-часовой формат) или + m, где m – минуты, которые необходимы до процесса завершения работы.

Чтобы выключить систему через 2 минуты, используйте:

Чтобы выключить систему в 22:30, используйте:

Отправить широковещательное сообщение при выключение

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

Эта опция часто полезна для планового обслуживания.

Перезагрузить систему

Используйте параметр -r с командой shutdown для перезагрузки системы.

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

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

Если по любой причине, если вы хотите отменить запланированное завершение работы, используйте параметр -c.

Как использовать команду Poweroff

Команда poweroff используется для выключения системы.

Команда выключения питания

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

Перезагрузить систему

Использование опции –reboot с командой poweroff перезагрузит систему вместо выключения питания

Принудительного отключение

Опция -f с командой poweroff принудительно отключает питание системы.

Система мгновенно отключается, как при отключении источника питания процессора.

Как использовать команду Reboot

Команда reboot используется для перезагрузки системы.

Перезагрузить систему

При использовании без параметров, она сразу же перезагрузит систему.

Выключения системы

Опция -p с командой reboot выключит систему вместо перезагрузки системы

Принудительная перезагрузка системы

Опция -f с командой reboot принудительно перезагрузит систему.

Система будет мгновенно перезагружена, как при нажатии кнопки сброса в CPU.

Заключение

Я надеюсь, что теперь вы хорошо понимаете, как использовать команды Linux shutdown, poweroff и reboot.

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

Источник

В чем разница между этими командами для отключения сервера Linux?

Чтение «В чем разница между командами остановки и выключения?» Я обычно имею представление о том, что делает команда shutdown, с опциями -h / -r или без них.

Команда «halt» выполняет отключение системы до уровня 0 системы.

Команда «shutdown» выполняет выключение системы для запуска уровня 1 без команды -h или -r.

А как насчет команды «poweroff», которая входит в уровень выполнения 0 или 1? Это единственное основное различие между этими тремя командами?

А теперь системный ответ.

В соответствии с тегом вашего вопроса вы используете Red Hat Enterprise Linux. Начиная с версии 7, он использовал systemd. Ни один из других ответов не верен для мира systemd; и даже не некоторые из предположений в вашем вопросе.

  • Забудьте об уровнях выполнения ; они существуют, но только как совместимость прокладок. Документация systemd гласит, что концепция «устарела». Если вы начинаете изучать этот материал в операционной системе systemd, не начинайте там.
  • Забудьте о странице руководства, которую цитировал Марсельм; это вовсе не из правильного набора инструментов, а описание команды другого набора инструментов, неправильное для systemd. Это для halt команды из Ван Смуренбурга утилиты «Система 5» init .
  • Игнорируйте утверждения, которые /sbin/halt являются символической ссылкой на /sbin/reboot ; это не так с systemd. Там нет отдельной reboot программы вообще.
  • Игнорировать операторы, которые halt или reboot вызывают shutdown программу с аргументами командной строки; они также не верны с systemd. Там нет отдельной shutdown программы вообще.
Читайте также:  Операционная система windows функции операционной системы windows

Каждый набор инструментов для управления системой имеет свою версию этих утилит. Systemd, выскочка, перекус , ван Smoorenburg init и BSD init все имеют свои собственные halt , poweroff и так далее. На каждой их механика немного отличается. Как и их справочные страницы.

В Systemd набор инструментов halt , poweroff , reboot , telinit , и shutdown являются все символические ссылки /bin/systemctl . Они все регулировочные шайбы с обратной совместимостью, которые просто сокращение для вызова интерфейса первичного командной строки Systemd в: systemctl . Они все на карте (и на самом деле являются) той же одной программе. (По соглашению оболочка сообщает ему, по какому имени она была вызвана.)

цели, а не уровни выполнения

Большинство из этих команд являются сокращениями для сообщения systemd, используя systemctl для выделения конкретной цели . Изоляция объяснена на systemctl странице руководства (см. В разделе qv), но для целей этого ответа ее можно рассматривать как начало цели и остановку любых других. Стандартные цели, используемые в systemd, перечислены на systemd.special странице руководства (8).

Диаграммы на bootup странице руководства (7) в наборе инструментов systemd, в частности на последней, показывают, что здесь есть три «конечные» цели:

  • halt.target — Как только система достигнет состояния полной изоляции этой цели, она вызовет reboot(RB_HALT_SYSTEM) системный вызов. Ядро попытается войти в программу монитора ПЗУ или просто остановит ЦП (используя любой подходящий для этого механизм).
  • reboot.target — Как только система достигнет состояния полной изоляции этой цели, она вызовет reboot(RB_AUTOBOOT) системный вызов (или эквивалент магической командной строки). Ядро попытается запустить перезагрузку.
  • poweroff.target — Как только система достигнет состояния полной изоляции этой цели, она вызовет reboot(RB_POWER_OFF) системный вызов. Ядро будет пытаться отключить питание системы, если это возможно.

Это то , о чем вы должны думать, как о конечной системе, а не о прохождении уровней. Обратите внимание на диаграмму, что целевая система systemd сама кодирует вещи, которые в других системах являются неявными, а не явными: например, представление о том, что каждая из этих конечных целей охватывает shutdown.target цель, так что описываются службы, которые должны быть остановлены перед выключением имея их в конфликт с к shutdown.target цели.

systemctl пытается отправить запросы, systemd-logind когда вызывающий пользователь не является суперпользователем. Он также передает отложенные отключения на systemd-shutdownd . И некоторые сокращения вызывают wall уведомления. Помимо тех сложностей, которые могут сделать этот ответ в несколько раз длиннее, если вы в данный момент являетесь суперпользователем и не запрашиваете запланированное действие:

  • systemctl isolate halt.target имеет короткие номера:
    • shutdown -H now
    • systemctl halt
    • просто без украшений halt
  • systemctl isolate reboot.target имеет короткие номера:
    • shutdown -r now
    • telinit 6
    • systemctl reboot
    • просто без украшений reboot
  • systemctl isolate poweroff.target имеет короткие номера:
    • shutdown -P now
    • telinit 0
    • shutdown now
    • systemctl poweroff
    • просто без украшений poweroff
  • systemctl isolate rescue.target имеет короткие номера:
    • telinit 1
    • systemctl rescue
  • systemctl isolate multi-user.target имеет короткие номера:
    • telinit 2
    • telinit 3
    • telinit 4
  • systemctl isolate graphical.target имеет стенографию:
    • telinit 5

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

Источник

Оцените статью