Jaka jest komenda shutdown w macOS?

Komenda shutdown to wbudowane narzędzie macOS, które wyłącza komputer, restartuje go lub przełącza w tryb uśpienia z poziomu Terminala. Akceptuje flagi kontrolujące akcję, argument czasu planujący moment wykonania oraz opcjonalną wiadomość rozgłoszeniową wyświetlaną zalogowanym użytkownikom przed rozpoczęciem operacji.

Ponieważ shutdown modyfikuje stan systemu, zwykle wymaga uprawnień administratora i jest wywoływana za pomocą sudo. Jest powszechnie używana przez administratorów do planowania okien konserwacji, przez zaawansowanych użytkowników do automatyzacji codziennych rutyn oraz przez skrypty, które potrzebują niezawodnego sposobu na zatrzymanie lub restart Maca bez dodatkowego oprogramowania.

Opis narzędzia

To narzędzie generuje prawidłową komendę macOS shutdown z prostego formularza. Wybierz akcję, określ kiedy powinna się wykonać, opcjonalnie dodaj wiadomość rozgłoszeniową i zaawansowane flagi, a następnie skopiuj wygenerowaną komendę do terminala lub skryptu powłoki.

Przykłady

Natychmiastowe zatrzymanie (wyłączenie):

sudo shutdown -h now

Restart za 5 minut z wiadomością dla użytkowników:

sudo shutdown -r +5 "Rebooting for maintenance"

Uśpienie w określonym dniu i godzinie (30 kwietnia 2026 o 23:00):

sudo shutdown -s 2604302300

Ostrzeżenie użytkowników bez zatrzymania (tylko rozgłoszenie):

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

Anulowanie wcześniej zaplanowanego wyłączenia:

sudo killall shutdown

Funkcje

  • Generowanie komend dla akcji: zatrzymanie, restart, uśpienie, tylko ostrzeżenie i anulowanie
  • Planowanie akcji natychmiast, po N minutach lub w określonym dniu i godzinie
  • Dodawanie wiadomości rozgłoszeniowej wyświetlanej zalogowanym użytkownikom
  • Przełączanie sudo, -n (bez fsck/sync) i -o (bez wysyłania SIGTERM do procesów)
  • Podgląd na żywo wygenerowanej komendy, gotowy do skopiowania do terminala lub skryptu

Przypadki użycia

  • Planowanie nocnego restartu po zainstalowaniu aktualizacji systemu na stacji roboczej
  • Wyzwalanie czystego wyłączenia z zadania launchd lub skryptu konserwacji o ustalonej godzinie
  • Ostrzeganie zalogowanych użytkowników, że wspólny Mac będzie wyłączony przed jego zatrzymaniem

Objaśnienie opcji

  • Akcja — Wybiera operację: zatrzymanie (-h), restart (-r), uśpienie (-s), tylko ostrzeżenie (-k) lub anulowanie oczekującego wyłączenia (killall shutdown).
  • Tryb czasuTeraz używa dosłownie now, Za N minut używa +N, W określonym dniu i godzinie generuje bezwzględną formę yymmddhhmm oczekiwaną przez shutdown(8).
  • Wiadomość — Dołącza cytowaną wiadomość rozgłoszeniową; osadzone cudzysłowy są escapowane, a nowe linie usuwane.
  • Użyj sudo — Poprzedza komendę sudo, aby była wykonywana z wymaganymi uprawnieniami administratora.
  • Bez fsck / bez sync (-n) — Pomija synchronizację systemu plików przed zatrzymaniem. Szybciej, ale generalnie nie zalecane na zdowych systemach.
  • Bez SIGTERM (-o) — Nakazuje shutdown nie wysyłać SIGTERM do procesów przed wyłączeniem systemu. Używaj ostrożnie.

Jak to działa

Pod maską shutdown(8) planuje przejście systemu. Argument czasu może być:

  • now — wykonaj natychmiast
  • +N — wykonaj za N minut od teraz
  • yymmddhhmm — wykonaj w określonym dniu i godzinie zakodowanym jako 2-cyfrowy rok, miesiąc, dzień, godzina i minuta

macOS nie udostępnia natywnej flagi -c do anulowania jak Linux. Aby anulować zaplanowane wyłączenie, należy zakończyć sam zaplanowany proces shutdown za pomocą sudo killall shutdown, co to narzędzie generuje dla Ciebie po wybraniu akcji Anuluj.

Porady

  • Zawsze najpierw przetestuj komendę na niekrytycznej maszynie; zatrzymanie lub restart zamknie wszystkie uruchomione aplikacje.
  • Użyj akcji Ostrzeż, aby powiadomić użytkowników bez faktycznego wyłączenia — przydatne do testów.
  • Planując na określony czas, dokładnie sprawdź, czy data jest w przyszłości; czasy z przeszłości są odrzucane przez shutdown.
  • Uruchamiaj z interaktywnego Terminala, aby sudo mogła poprosić o hasło, lub skonfiguruj sudo bez hasła dla shutdown, jeśli wywoływana jest ze zautomatyzowanych skryptów.