Как выключить линукс через терминал
Перейти к содержимому

Как выключить линукс через терминал

  • автор:

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

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

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

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

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

1. shutdown

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

sudo shutdown -h now

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

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

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

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

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

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

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

Выводы

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

How to Use the Linux Shutdown Command in Ubuntu 18.04 and CentOS 7

Most of the popular Operating systems out there allow you to shut down your PC or laptop with different methods. Linux operating systems also has ways for a user to safely shutdown, reboot, hibernate or suspend your Unix based machine. In this tutorial, we’ll show you how to safely use the shutdown, reboot, hibernate your hosted virtual server using Linux commands.

We’ll walk you through in two different Linux flavors – CentOS 7 and Ubuntu 18.04.

Shutting down or rebooting server is important for every operating system for keeping things working as intended. Shutting down server through the command line is a secure way as it notifies all the logged in users that the system is about to go off.

Here you’ll even learn how to trigger the OS to power off on a schedule.

Shutdown Command in Linux Ubuntu and CentOS

The shutdown command in Ubuntu and CentOS lets you power off, reboot, and halt your system. Below is the command syntax that is being used to shutdown and restart the machine.

The shutdown command can to reboot, halt, or power off.

The first argument of [OPTIONS] can be a time string. After the argument, optionally you can type in a wall message to notify the logged-in users before shutting down your system.

The format for the time string is hh:mm (hour/minute) – a 24-hour time format. This will specify the time to execute the shutdown command. Alternatively, you can use +m where m indicates minutes. It will instruct the machine to shutdown in the number of minutes you want.

You can also use now in the syntax which is an alias for +0, this will trigger an immediate shutdown of your VPS. If you don’t specify the [time] argument, Linux as default implies +1 before shutting down.

Bear in mind that a time argument is a must if you want to specify a wall message. The /run/nologin file will be created 5 minutes before the system shuts down only if you have implied a time argument to ensure that further logins are not to be allowed.

Using the Shutdown Command in Linux Ubuntu and CentOS

The shutdown command for Ubuntu and CentOS is relatively similar. Each command shown below can be used in its dedicated Terminal. Remember, that you’ll have to use SSH to access your VPS. We have a tutorial covering the process with PuTTY!

The basic shutdown command for both CentOS and Ubuntu looks like this:

The command above will not shut down your PC immediately, it will set a one-minute timer before shutting down. Remember to save your work before the shutdown takes place.

To shut down your PC immediately type in the following command and hit enter:

Like we mentioned before, here the command for both OS is the same.

To shut down your PC at a dedicated time, type in the following command into the command line and hit enter:

The Linux shutdown command follows a 24 hours format so type in hours instead of hh and minutes instead of mm.

To shut down after a few minutes or hours, type in the following command and hit enter:

Remember, here m indicates minutes. Just specify the number of minutes.

To show a message to the people who are logged in your VPS type in the following command and hit enter:

Here the text in quotes can be whatever message you’d like.

Restart Your VPS using the Shutdown Command in Linux

To restart or reboot your PC in a safe way, use the following command below:

The command won’t reboot your machine immediately, it will set a one-minute timer before rebooting. For this, you can save your work before reboot takes place.

To restart your PC immediately, just add the now option, as you did previously.

To schedule a restart for your system, type in the following command and hit enter:

To restart after few minutes or hours, type in the following command and hit enter:

Remember, here m indicates minutes. Just specify the number of minutes.

To show the message to the people who are logged in with your server before the it goes down, type in the following command and hit enter:

Here are some additional Linux shutdown command options you should be familiar with:

  • -poweroff, -P : like halt Powers off the system (also turns off unit)
  • -reboot, -r : Reboot the system.
  • -halt, -h : Halt the machine after terminating processes.

You can also shut down the using the halt and power off options using the following command

For powering off use:

In the above commands, you can also specify the time and then wall message after the option argument.

Cancel a Scheduled Shutdown Command in Linux

To cancel a Scheduled shutdown or a restart of your PC, you can simply type in the following command before you reach the dedicated time of the scheduled shutdown of your PC.

These commands will immediately cancel the specified scheduled time of shutdown or restart. You cannot use this command If you used +0 or now.

Conclusion

That’s it, hope this article helped you learn how to use the Linux shutdown command and its options. If you faced any confusion in the tutorial, please let us know so we can resolve it for you!

Discover Other Linux Commands for Server Management

Edward is a content editor with years of experience in IT writing, marketing, and Linux system administration. His goal is to encourage readers to establish an impactful online presence. He also really loves dogs, guitars, and everything related to space.

5 способов выключить компьютер с Linux через терминал

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

Но как ты мог это сделать? Доступны несколько команд для выключения или перезагрузки компьютера Linux через терминал.

Давайте посмотрим на них по очереди и рассмотрим, как и когда следует использовать эти команды.

1. Отключение

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

shutdown [option] [time] [message]

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

Где -h означает остановку, а now — сейчас, что означает, инструкция должна быть выполнена немедленно. Различные задержки могут быть использованы. Например, вместо этого вы можете использовать +5, что скажет компьютеру выполнить процедуру выключения через пять минут.

Если вы хотите использовать message (сообщение), оно будет мигать всем зарегистрированным пользователям:

shutdown -h +5 «Сервер выключается, сохраните свою работу и выйдите из системы.»

Помните, что вы можете найти полный список переключателей для этих команд, введя:

Перезапустить с -r

Альтернативный вариант — использовать команду -r для перезагрузки компьютера. Она используется вместо -h, поэтому, для перезагрузки компьютера или сервера вы можете использовать:

shutdown -r +5 «Сервер перезагружается через пять минут, сохраните свою работу и выйдите из системы.»

Любое запланированное отключение или перезапуск можно отменить, введя команду -c:

2. Перезагрузка

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

Стандартная команда перезагрузки:

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

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

Эта команда принудительно перезагрузит ваш Linux ПК.

3. Остановить

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

Переключатель -f также можно использовать с остановкой, но результаты противоречивы, и может привести к проблемам стабильности системы.

4. Poweroff

Вы можете предпочесть терминологию команды poweroff. Это делает то же самое, что и halt, за исключением того, что ввод текста занимает в два раза больше времени.

Однако, кроме использования -f для принудительного отключения питания, вы также можете использовать ключ -w для регистрации вызова перезагрузки системы в /var/log/wtmp. Это потенциально полезный инструмент отладки, как -verbose, который может помочь с проблемами при завершении работы.

5. Аварийный вариант: REISUB

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

Ответ тогда — комбинация клавиатуры. Если вы переключились с Windows, вы, вероятно, знаете, что Ctrl + Alt + Del отображает меню с выключением в качестве опции. Если удерживать дольше, машина выключится автоматически. В то же время на Mac вы просто должны удерживать кнопку питания (опция, которая также работает на оборудовании Windows).

В Linux комбинация клавиш для перезагрузки Alt + Print Screen + B. Однако, если это не работает или существует более сложная проблема, вы можете изменить комбинацию, используя до шести клавиш.

Это известно как REISUB, из-за следующей вынужденной аббревиатуры:

  • unRaw — возвращает управление клавиатурой обратно с сервера X-дисплея.
  • tErminate — посылает сигнал завершения SIGTERM всем процессам для корректного завершения.
  • kIll — как и выше, но сигнал SIGKILL, который вызывает немедленное завершение процессов.
  • Sync — сбрасывает данные на диск.
  • Unmount — перемонтирует все файловые системы в состояние только для чтения.
  • reBoot — что и следовало ожидать.

Чтобы это сработало, вы должны удерживать Alt + Print Screen, а затем, поочерёдно нажимать клавиши: R E I S U B, в этом же порядке. Задержка между каждым нажатием должна составлять 1-2 секунды. Это необходимо для того, чтобы дать немного времени на выполнение всех вышеперечисленных процессов. Обратите внимание, что этот метод обычно не работает на компьютерах с архитектурой ARM.

Помогите, я случайно выключил свой Linux компьютер или сервер!

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

Например, есть скрипт, который проверяет наличие сессий SSH. Если вы отправите команду перезагрузки, остановки или выключения molly-guard потребует имя хоста, который вы собираетесь закрыть.

Для этого установите molly-guard в терминал:

sudo apt-get install molly-guard

Поскольку molly-guard работает в фоновом режиме, он обнаружит такую ​​команду, как poweroff, и сообщит, что был обнаружен сеанс SSH. Затем вы можете ввести имя хоста сервера для подтверждения выключения или нажать Ctrl + C для отмены. Полезно!

Эти пять способов выключения компьютера Linux из командной строки особенно полезны, поскольку их можно использовать на самом компьютере или через удаленный SSH. Поскольку эти команды очень лаконичны, они пригодны для быстрого использования — что может привести к случайной перезагрузке время от времени! К счастью, утилиты molly-guard достаточно, чтобы этого избежать.

Чтобы узнать больше о командах Linux, ознакомьтесь с нашей справочной таблицей.

Выключение и перезагрузка Linux

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

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

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

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

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

Команда shutdown

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

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

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

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

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

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

Команды halt и reboot

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

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

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

Команда 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *