Usando il comando terminale per spegnere, riavviare e dormire il mio Mac?

106

Mi sto interessando di più ad usare Terminal come modo alternativo per indirizzare le soluzioni sul mio Mac. Ho visto questa domanda dal titolo "C'è un modo migliore per spegnere / riavviare OSX? ".

Vorrei quindi sapere:

Come spegnere, riavviare e spegnere il mio Mac usando esclusivamente il comando Terminale?

    
posta Simon 28.09.2013 - 11:55
fonte

3 risposte

132

Il comando che cerchi è spegnimento . Questo informa tutti gli utenti che la macchina sta per essere spenta e dice a tutte le app di chiudere i file ecc.

Il comando accetta un parametro -h, -r o -s per spegnere, riavviare o sospendere il Mac.

Il comando deve essere eseguito come root, quindi è necessario usare sudo.

es. per riavviare immediatamente la macchina

sudo shutdown -r now

es. per spegnere la macchina tra 60 minuti

sudo shutdown -h +60
    
risposta data 28.09.2013 - 12:14
fonte
83

Arresta senza mostrare una finestra di dialogo di conferma:

osascript -e 'tell app "System Events" to shut down'

Spegni dopo aver visualizzato una finestra di dialogo di conferma:

osascript -e 'tell app "loginwindow" to «event aevtrsdn»'

Riavvia senza mostrare una finestra di dialogo di conferma:

osascript -e 'tell app "System Events" to restart'

Riavvia dopo aver visualizzato una finestra di dialogo di conferma:

osascript -e 'tell app "loginwindow" to «event aevtrrst»'

Esci senza mostrare una finestra di dialogo di conferma:

osascript -e 'tell app "System Events" to  «event aevtrlgo»'

Esci dopo aver visualizzato una finestra di dialogo di conferma:

osascript -e 'tell app "System Events" to log out'

Vai a sleep ( pmset ):

pmset sleepnow

Vai a dormire (AppleScript):

osascript -e 'tell app "System Events" to sleep'

Metti display in stato di stop (10.9 e successivi):

pmset displaysleepnow

I quattro codici lettera per gli eventi Apple sono elencati in AERegistry.h .

Tutti i comandi di System Events precedenti inviano gli eventi Apple al processo loginwindow . loginwindow viene inviato gli stessi eventi Apple di cui sopra quando esci, riavvia, chiudi o metti il Mac in modalità di sospensione normale. Vedi Q & Tecnico tecnico QA1134: causa di riavvio, spegnimento e / o disconnessione programmati .

In base a man shutdown , shutdown -h now e shutdown -r now send processa un segnale TERM seguito da un segnale KILL .

In base alla Guida alla programmazione di Daemon e servizi , quando dici a loginwindow di uscire, i processi che supportano la terminazione improvvisa ricevono un segnale KILL ei processi che non supportano la terminazione improvvisa vengono terminati in diversi modi: Le applicazioni Cocoa ricevono il metodo applicationShouldTerminate: delegate, applicazioni in primo piano ricevi l'evento kAEQuitApplication Apple, le applicazioni in background ricevono l'evento kAEQuitApplication Apple seguito da un segnale KILL , e i daemon ricevono un segnale TERM seguito da un segnale KILL dopo pochi secondi.

    
risposta data 28.09.2013 - 21:36
fonte
-10

anche utile, per uscire dal prompt della riga di comando del terminale, digitare 'exit':

[host:~user]$ exit
    
risposta data 09.01.2016 - 13:06
fonte

Leggi altre domande sui tag