Halt command in linux

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

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

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

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

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

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

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

Синтаксис и опции shutdown

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

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

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

Читайте также:  Canon mf443dw driver linux

Вот основные опции утилиты:

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

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

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

1. shutdown

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

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

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

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

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

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

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

Читайте также:  Partition magic linux iso

6. Графический интерфейс

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

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Understanding Shutdown, Poweroff, Halt and Reboot Commands in Linux

In this article, we will explain to you the difference between shutdown, poweroff, halt and reboot Linux commands. We will make clear what they actually do when you execute them with available options.

If you are hoping to dive into Linux server administration, then these are some of the important Linux commands you need to fully understand for effective and reliable server administration.

Normally, when you want to turn off or reboot your machine, you’ll run one of the commands below:

Shutdown Command

shutdown schedules a time for the system to be powered down. It may be used to halt, power-off or reboot the machine.

You may specify a time string (which is usually “now” or “hh:mm” for hour/minutes) as the first argument. Additionally, you may set a wall message to be sent to all logged-in users before the system goes down.

Important: If the time argument is used, 5 minutes before the system goes down the /run/nologin file is created to ensure that further logins will not be allowed.

Examples of shutdown commands:

# shutdown # shutdown now # shutdown 13:20 # shutdown -p now #poweroff the machine # shutdown -H now #halt the machine # shutdown -r09:35 #reboot the machine at 09:35am

To cancel a pending shutdown, simply type the command below:

Halt Command

halt instructs the hardware to stop all CPU functions, but leaves it powered on. You can use it to get the system to a state where you can perform low level maintenance.

Note that in some cases it completely shuts down the system. Below are examples of halt commands:

# halt #halt the machine # halt -p #poweroff the machine # halt --reboot #reboot the machine

Power off Command

poweroff sends an ACPI signal which instructs the system to power down.

The following are examples of poweroff commands:

# poweroff #poweroff the machine # poweroff --halt #halt the machine # poweroff --reboot #reboot the machine

Reboot Command

reboot instructs the system to restart.

# reboot #reboot the machine # reboot --halt #halt the machine # reboot -p #poweroff the machine

That’s all! As mentioned earlier on, understanding these commands will enable to effectively and reliably manage Linux server in a multi-user environment. Do you have any additional ideas? Share them with us via the comments section below.

Читайте также:  Small linux in windows

Источник

Halt command in linux

Команда halt предназначена для прекращения работы центрального процессора системы с отправкой сообщений всем ее пользователям. В большинстве случаев ее использование приводит к полному прекращению работы системы. Реализация функции, используемой посредством данной команды, зависит от архитектуры центрального процессора; например, в архитектуре x86 для этой цели предусмотрена специальная инструкция HLT. В текущее время эта команда является устаревшей, поэтому после перехода большинства дистрибутивов на менеджер инициализации systemd она была реализована в виде простой символьной ссылки на утилиту systemctl из состава systemd. Более того, в дистрибутивах Linux Mint, Ubuntu и Debian ее может не быть в системе по умолчанию. В таком случае при возникновении необходимости использования этой команды, а также таких команд, как reboot и shutdown, следует установить пакет программного обеспечения systemd-sysv с помощью следующей команды:

$ sudo apt-get install systemd-sysv

Базовый синтаксис команды выглядит следующим образом:

Утилита systemctl автоматически обрабатывает вызовы посредством символьной ссылки с именем halt и поддерживает параметры соответствующей утилиты для совместимости.

Наиболее важными параметрами являются параметры —poweroff и —reboot, позволяющие выключить и перезагрузить систему соответственно, параметр —force, предназначенный для принудительного прекращения работы центрального процессора путем осуществления системного вызова без подготовки системы, параметр —wtmp-only, позволяющий добавить запись в файл журнала /var/log/wtmp и не прекращать работу центрального процессора, параметр —no-wtmp, позволяющий прекратить работу центрального процессора без добавления записи в файл журнала /var/log/wtmp, а также параметр —no-wall, позволяющий не отправлять сообщение о прекращении работы центрального процессора всем пользователям системы.

Что касается утилиты systemctl, то она осуществляет изоляцию цели halt.target (то есть, достижение этой цели и закрытие всех остальных целей), в ходе которой осуществляется системный вызов reboot(RB_HALT_SYSTEM). Если вы не хотите использовать команду halt, вы можете воспользоваться одной из следующих команд:

$ sudo systemctl isolate halt.target
$ sudo systemctl halt

Они работают аналогичным образом.

Примеры использования

Прекращение работы центрального процессора

Для прекращения работы центрального процессора системы достаточно использовать команду halt без каких-либо параметров:

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

Прекращение работы системы

Для более корректного прекращения работы системы следует использовать команду halt с параметром —shutdown:

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

Перезагрузка системы

Для перезагрузки системы следует использовать команду halt с параметром —reboot:

В результате система будет перезагружена.

Скрытное прекращение работы центрального процессора

Для того, чтобы прекратить работу центрального процессора без добавления записи в файл журнала /var/log/wtmp и отправки сообщения всем пользователям системы достаточно использовать параметры —no-wtmp и —no-wall:

В результате работа центрального процессора системы будет прекращена без лишних сообщений.

Источник

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