Что такое команда shutdown в macOS?

Команда shutdown — это встроенная утилита macOS, которая выключает компьютер, перезагружает его или переводит в режим сна из Terminal. Она принимает флаги, управляющие действием, аргумент времени для планирования запуска, и необязательное сообщение трансляции, отображаемое вошедшим пользователям перед началом операции.

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

Описание инструмента

Этот инструмент создает корректную команду macOS shutdown из простой формы. Выберите действие, укажите время запуска, при необходимости добавьте сообщение трансляции и дополнительные флаги, затем скопируйте созданную команду в терминал или shell-скрипт.

Примеры

Немедленная остановка (выключение):

sudo shutdown -h now

Перезагрузка через 5 минут с сообщением пользователям:

sudo shutdown -r +5 "Rebooting for maintenance"

Режим сна в определенную дату и время (30 апреля 2026 в 23:00):

sudo shutdown -s 2604302300

Предупреждение пользователей без остановки (только трансляция):

sudo shutdown -k +10 "Please save your work"

Отмена ранее запланированного выключения:

sudo killall shutdown

Возможности

  • Создание команд для действий: остановка, перезагрузка, режим сна, только предупреждение и отмена
  • Планирование действия немедленно, через N минут или в абсолютную дату и время
  • Добавление сообщения трансляции, отображаемого вошедшим пользователям
  • Переключение sudo, -n (без fsck/sync) и -o (не отправлять SIGTERM процессам)
  • Живой предпросмотр созданной команды, готовой к копированию в терминал или скрипт

Варианты использования

  • Планирование ночной перезагрузки после установки обновлений системы на рабочей станции
  • Запуск чистого выключения из задания launchd или скрипта обслуживания в фиксированное время
  • Предупреждение вошедших пользователей о том, что общий Mac будет выключен перед его остановкой

Объяснение параметров

  • Действие — выбирает операцию: остановка (-h), перезагрузка (-r), режим сна (-s), только предупреждение (-k) или отмена ожидающего выключения (killall shutdown).
  • Режим времениNow использует буквальное now, In minutes использует +N, At date and time создает абсолютную форму yymmddhhmm, ожидаемую shutdown(8).
  • Сообщение — добавляет заключенное в кавычки сообщение трансляции; встроенные кавычки экранируются, переводы строк удаляются.
  • Использовать sudo — добавляет префикс sudo к команде, чтобы она выполнялась с необходимыми правами администратора.
  • Без fsck / без sync (-n) — пропускает синхронизацию файловой системы перед остановкой. Быстрее, но обычно не рекомендуется на здоровых системах.
  • Без SIGTERM (-o) — указывает shutdown не отправлять SIGTERM процессам перед выключением системы. Используйте с осторожностью.

Как это работает

Под капотом shutdown(8) планирует переход системы. Аргумент времени может быть:

  • now — выполнить немедленно
  • +N — выполнить через N минут
  • yymmddhhmm — выполнить в абсолютную дату/время, закодированную как 2-значные год, месяц, день, час и минута

macOS не предоставляет встроенный флаг -c для отмены, как Linux. Чтобы отменить ожидающее выключение, вы завершаете сам запланированный процесс shutdown с помощью sudo killall shutdown, что этот инструмент создает для вас при выборе действия Cancel.

Советы

  • Всегда сначала протестируйте команду на некритичной машине; выключение или перезагрузка закроют все запущенные приложения.
  • Используйте действие Warn для уведомления пользователей без фактического выключения — полезно для пробных запусков.
  • При планировании на абсолютное время дважды проверьте, что дата в будущем; прошлые времена отклоняются shutdown.
  • Запускайте из интерактивного Terminal, чтобы sudo мог запросить ваш пароль, или настройте sudo без пароля для shutdown, если вызываете из автоматизированных скриптов.