Τι είναι η εντολή shutdown του macOS;

Η εντολή shutdown είναι ένα ενσωματωμένο εργαλείο του macOS που απενεργοποιεί, επανεκκινεί ή θέτει τον υπολογιστή σε κατάσταση αναστολής από το Terminal. Δέχεται σημαίες που ελέγχουν την ενέργεια, ένα όρισμα χρόνου που προγραμματίζει πότε θα εκτελεστεί, και ένα προαιρετικό μήνυμα εκπομπής που εμφανίζεται στους συνδεδεμένους χρήστες πριν ξεκινήσει η λειτουργία.

Επειδή η εντολή shutdown τροποποιεί την κατάσταση του συστήματος, συνήθως απαιτεί δικαιώματα διαχειριστή και καλείται με sudo. Χρησιμοποιείται συνήθως από διαχειριστές για να σχεδιάσουν παράθυρα συντήρησης, από προχωρημένους χρήστες για να αυτοματοποιήσουν καθημερινές ρουτίνες, και από scripts που χρειάζονται έναν αξιόπιστο τρόπο για να σταματήσουν ή να επανεκκινήσουν ένα Mac χωρίς επιπλέον λογισμικό.

Περιγραφή εργαλείου

Αυτό το εργαλείο δημιουργεί μια έγκυρη εντολή shutdown του macOS από μια απλή φόρμα. Επιλέξτε μια ενέργεια, επιλέξτε πότε θα εκτελεστεί, προσθέστε προαιρετικά ένα μήνυμα εκπομπής και προηγμένες σημαίες, και αντιγράψτε την παραγόμενη εντολή σε ένα terminal ή shell script.

Παραδείγματα

Άμεση διακοπή (απενεργοποίηση):

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 στις διεργασίες)
  • Ζωντανή προεπισκόπηση της παραγόμενης εντολής, έτοιμη για αντιγραφή σε terminal ή script

Περιπτώσεις χρήσης

  • Προγραμματισμός επανεκκίνησης τη νύχτα μετά την εγκατάσταση ενημερώσεων συστήματος σε ένα workstation
  • Ενεργοποίηση καθαρής διακοπής από μια εργασία launchd ή script συντήρησης σε καθορισμένη ώρα
  • Προειδοποίηση συνδεδεμένων χρηστών ότι ένα κοινόχρηστο 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 να μπορεί να σας ζητήσει τον κωδικό πρόσβασής σας, ή διαμορφώστε passwordless sudo για το shutdown εάν καλείται από αυτοματοποιημένα scripts.