- Выключение компьютера времени linux
- Завершение работы компьютера с ОС Linux по таймеру
- Команда shutdown в Linux
- Синтаксис команды выключения
- Как использовать команду shutdown
- Как выключить систему в указанное время
- Как немедленно выключить систему
- Как транслировать собственное сообщение
- Как перезагрузить систему
- Как отменить запланированное выключение
- Выводы
- Выключение Linux из командной строки
- Процесс выключения Linux
- Синтаксис и опции shutdown
- Выключение компьютера в Linux
- 1. shutdown
- 2. reboot
- 3. halt
- 4. poweroff
- 5. SysRQ
- 6. Графический интерфейс
- Выводы
- Отключить компьютер в заданное время
- 2 ответа 2
- Объяснение подробнее.
Выключение компьютера времени linux
Завершение работы компьютера с ОС Linux по таймеру
Как всем давно известно, компьютер, работающий под управлением Linux, может работать круглосуточно годами. Но большинство пользователей предпочитают выключать свой компьютер или ноутбук после завершения работы или после того, как будет выполнена автоматическая работа, которая не требует вмешательства человека. Для достижения данной цели можно воспользоваться командой shutdown .
Из основных параметров (options) следует отметить два:
- -r — перезагрузить систему;
- -h — полная остановка системы (с таким параметром компьютер будет выключен).
Параметром TIME можно задать время, когда будет выполнена команда. Указание этого параметра необязательно — если вы не укажите время, то команда выполнится немедленно. Можно указать время, через которое выполнится команда: +20 (через 20 минут); или явно указать время, когда следует выполнить команду: 15:20 (в 15 часов 20 минут).
Например, чтобы выключить компьютер через 20 минут, следует выполнить:
Для того, чтобы выключить в 15:20:
Для перезагрузки системы сейчас:
Хотя перезагрузиться проще так:
У вас недостаточно прав для того чтобы тут гадить.
Источник
Команда shutdown в Linux
В этом руководстве мы покажем вам, как использовать команду shutdown на практических примерах и подробных объяснениях наиболее распространенных параметров shutdown .
Команда shutdown систему. Когда завершение shutdown инициируется, все вошедшие в систему пользователи и процессы уведомляются о том, что система выходит из строя, и дальнейшие входы в систему запрещены. Вы можете выключить вашу систему немедленно или в указанное время.
Синтаксис команды выключения
Прежде чем перейти к использованию команды shutdown , давайте начнем с обзора основного синтаксиса.
Выражения команды shutdown имеют следующую форму:
- options — options завершения работы, такие как остановка, отключение питания (параметр по умолчанию) или перезагрузка системы.
- time — аргумент времени указывает, когда выполнять процесс выключения.
- message — Аргумент сообщения определяет сообщение, которое будет транслироваться всем пользователям.
В последних дистрибутивах Linux systemctl shutdown является псевдонимом systemctl и доступна в системе только из соображений совместимости.
Как использовать команду shutdown
Только root и пользователи с привилегиями sudo могут использовать команду crontab .
При использовании без аргументов команда shutdown выключит машину.
Процесс выключения начинается через 1 минуту, что является временным интервалом по умолчанию.
Как выключить систему в указанное время
Аргумент времени может иметь два разных формата. Это может быть абсолютное время в формате hh:mm и относительное время в формате +m где m — количество минут с текущего момента.
В следующем примере будет запланировано выключение системы на 11:00:
В следующем примере будет запланировано shutdown системы через 10 минут:
Как немедленно выключить систему
Чтобы выключить систему сразу же можно использовать +0 или его псевдоним в now :
Как транслировать собственное сообщение
Чтобы транслировать настраиваемое сообщение вместе со стандартным уведомлением о shutdown введите сообщение после аргумента времени.
В следующем примере система будет отключена через 30 минут и уведомлена пользователей о том, что будет выполнено обновление оборудования:
Важно отметить, что при указании настраиваемого сообщения на стене вы также должны указать аргумент времени.
Как перезагрузить систему
Чтобы перезагрузить систему, используйте аргумент -r :
Вы также можете указать аргумент времени и собственное сообщение:
Приведенная выше команда перезагрузит систему через 5 минут и транслирует Updating kernel .
Как отменить запланированное выключение
Если вы запланировали выключение и хотите отменить его, вы можете использовать аргумент -c :
При отмене запланированного завершения работы вы не можете указать аргумент времени, но вы все равно можете транслировать сообщение, которое будет отправлено всем пользователям.
Выводы
Команда shutdown позволяет вам остановить, выключить и перезагрузить вашу систему Linux.
Чтобы узнать больше о shutdown , посетите страницу руководства по завершению работы .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Выключение 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 через терминал. Если вас застигнет врасплох ошибка или зависание компьютера, вы знаете что делать. Если остались вопросы — пишите в комментариях!
Источник
Отключить компьютер в заданное время
Я хочу, чтоб моя Ubuntu автоматически отключалась каждый день в определенное время. Как этого можно добиться?
2 ответа 2
Зачем трогать крон в системе с божественным systemd? 🙂
В systemd одним из способов выключения компьютера является включение службы systemd-poweroff , которая запускает команду /bin/systemctl —force poweroff , которая понятно что делает.
Сделаем таймер для запуска этой службы по расписанию, создав файл /etc/systemd/system/systemd-poweroff.timer (под рутом, разумеется):
(Формат даты ДеньНедели Год-Месяц-День Часы:Минуты:Секунды , день недели писать необязательно, звёздочка означает любое значение.)
Запустим его (таймер, а не выключение):
И добавим в автозагрузку, чтобы каждый раз вручную не запускать:
Теперь этот таймер будет каждый день в 23:03 запускать ту службу, которая написана в имени файла — systemd-poweroff — и тем самым выключать компьютер.
С помощью команды sudo systemctl status systemd-poweroff.timer можно посмотреть информацию о таймере: точное время следующего запуска, оставшееся время и так далее:
Если вы отредактировали файл (например, изменили время), нужно выполнить sudo systemctl daemon-reload для применения изменений.
Подробнее про таймеры можно почитать на арчевики.
На помощь нам придет юниксный демон по имени cron .
Для того, чтобы поставить задачу в расписание, мы добавим ее в файл /etc/crontab .
Открываем терминал — Ctrl Alt T .
Файл можно редактировать такой командой:
Для отключения компьютера каждый день в 23:03 добавим в файл такую строчку:
Последняя строчка файла должна быть пустая.
Эта часть была написана по мотивам askubuntu.
Объяснение подробнее.
(Обновлено)
В самом этом файле /etc/crontab объясняется формат таблицы задач:
Первые два поля — минута и час запуска задачи,
3-е поле (dom) — день месяца (Day of Month),
затем месяц,
5-е поле (dow) — день недели,
затем пользователь, от чьего имени будет запускаться команда,
и, собственно, команда.
Время запуска
Все условия (времени запуска) проверяются по «логическому И», кроме условий «день недели» и «день месяца» — указанные совместно, они обрабатываются по «логическому ИЛИ», то есть «по любому из дней», что отражено в документации (Ubuntu, Debian, FreeBSD). (См. Википедия, man 5 crontab ). Если вы хотите проверять их по «логическому И», делайте это в самой команде.
Например, перезагрузка в пятницу, 13-го:
Crontab пользователя.
Кроме общей таблицы crontab, каждый пользователь имеет свою. Свою личную таблицу можно редактировать командой
Таблицу другого пользователя, например, ‘root’-а, можно редактировать командой
В первоначальном вопросе правильнее, я думаю, было бы использовать именно этот вариант.
Если в системе есть всего один пользователь, то можно отключать компьютер и через него, и через ‘root’, без разницы.
Спасибо господам 0andriy и Sergey, который привлекли мое внимание к такой возможности.
Обратите внимание, что в таблице конкретного пользователя формат задачи немного другой, там не нужно указывать пользователя. Вместо
Переменные окружения
Популярная причина проблем с работой crontab — другое определение переменных окружения при работе демона cron , особенно переменной $PATH .
Вы можете узнать переменные окружения cron -а, вставив в crontab строчку
После того, как файл /tmp/env.output создан, эту строчку можно убрать.
Оказывается, в Ubuntu cron запускается с PATH=/usr/bin:/bin . Для корректной работы нужно определить правильный $PATH в самом файле crontab .
Обратите внимание, что значение переменных не подставляется, то есть
не сработает.
Альтернативный способ решения этой проблемы — использовать полные пути для запуска команд. Но он хуже, если вы хотите проверить свою команду в терминале или перенести в другую систему.
Если вы запускаете программы с GUI, вам также надо определить $DISPLAY:
Да, и не забывайте в конце crontab -а вставлять пустую строчку.
Вторая часть ответа была написана по мотивам вопроса о проблемах работы с crontab -ом на askubuntu.
Спасибо всем комментаторам за плодотворную дискуссию.
Источник