Come posso spegnere forzatamente il mio Mac in un momento prestabilito?

17

Sto cercando un'app di spegnimento automatico che spenga il computer in modo forzato in un momento prestabilito.

La parte più importante di questo è che lo spegnimento non dovrebbe essere cancellabile (a meno che il processo non sia estremamente oneroso).

    
posta Harry 14.09.2011 - 12:51
fonte

7 risposte

22

Ok, così oltre alla mia risposta precedente, posso guidarti a ottenere cron (un servizio di pianificazione UNIX incorporato) per eseguire un comando di spegnimento programmato per te.

Verrà eseguito come root e sarà forzato.

  • Apri terminale (/ Applicazioni / Utility / Terminale)
  • Input sudo crontab -e

Dovrai inserire la tua password di accesso e quindi premere invio.

Ora sarai in un editor di testo (vim). Inserisci attentamente le seguenti sequenze di tasti.

  • Premi una volta i (questo ti permetterà di inserire del testo)

Diciamo che vuoi che la macchina si spenga alle 2 del mattino ogni giorno, ora inseriremo:

* 2 * * * /sbin/shutdown -h now

Se si desidera che la macchina si spenga alle 02:30 tutti i giorni, immettere:

30 2 * * * /sbin/shutdown -h now
  • Una volta inserito, premi esc
  • Quindi premi shift + z shift + z (che è maiuscolo "z" due volte, per scrivere il cambia e chiude l'editor)

Ora dovresti tornare alla riga di comando da cui hai iniziato.

Il gioco è fatto!

    
risposta data 17.09.2011 - 16:50
fonte
13

Puòesserecancellatoperò:

Arresta a yymmddhhmm :

shutdown -h 1109211555

Arresta in 4 minuti:

shutdown -h +4

/Library/LaunchAgents/me.lri.forceshutdown.plist :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>me.lri.forceshutdown</string>
    <key>ProgramArguments</key>
    <array>
        <string>shutdown</string>
        <string>-h</string>
        <string>now</string>

    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>23</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
</dict>
</plist>

Se il plist era di proprietà di un utente normale, provare a caricarlo comporterebbe l'errore launchctl: Dubious ownership on file (skipping) :

sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist

L'agente può essere caricato disconnettendosi e tornando indietro, oppure con:

sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist

sudo crontab -e

'08 16 * * * /sbin/shutdown -h now'

Questo eseguirà un normale spegnimento non forzato:

osascript -e 'tell app "System Events" to shut down'
    
risposta data 21.09.2011 - 15:41
fonte
9

Può essere programmato in Preferenze di Sistema > Risparmio energetico > Programma . Non sono sicuro che questo avvierà un arresto forzato, dovresti provarlo. Ma questa è un'opzione incorporata per automatizzare l'arresto / spegnimento programmato.

  • È anche possibile chiudere forzatamente il sistema con un comando di terminale (richiede root):

    shutdown -h now

    Potresti inserire tale comando in un'attività launchd o cron . Controlla questo articolo per molto di più informazioni su questi due servizi.

  • Potresti anche voler controllare un'applicazione come il nome appropriato iWannaSleep (non sicuro se questo force shutdown).

risposta data 14.09.2011 - 13:34
fonte
3

Puoi utilizzare shutdown direttamente per pianificare un arresto in un dato momento in futuro:

shutdown -h time

dove il tempo specifica un orario futuro in uno dei due formati:              + numero o yymmddhhmm, dove l'anno, il mese e il giorno possono essere impostati come valori predefiniti              valori di sistema. Il primo modulo riporta il sistema in pochi minuti e il secondo              al tempo assoluto specificato.

    
risposta data 17.09.2011 - 12:58
fonte
2
cd ~/Downloads/

curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist

# vedi nota sotto

sudo mv com.tjluoma.forceshutdown.plist /Library/LaunchAgents

sudo chown root:wheel /Library/LaunchAgents/com.tjluoma.forceshutdown.plist

sudo launchctl load /Library/LaunchAgents/com.tjluoma.forceshutdown.plist

Nota:

Come scritto, il plist farà spegnere il computer alle 23:00 (ora locale) ogni giorno.

Se vuoi cambiare il tempo, modifica lo script in qualsiasi editor di testo. Cambia i tasti Ora e Minuti, estratti qui:

<dict>
    <key>Hour</key>
    <integer>23</integer>
    <key>Minute</key>
    <integer>0</integer>
</dict>

(nota l'uso della durata di 24 ore)

    
risposta data 20.09.2011 - 20:02
fonte
2

Arresto programmato più carino

Se vuoi spegnere in sicurezza il tuo Mac in un momento programmato, prendi in considerazione Power Manager ; si spegne bene senza che le applicazioni blocchino il processo:

  • Tutti gli utenti attivi ricevono un'ampia notifica.
  • Viene visualizzato un grande avviso poco prima dell'inizio dello spegnimento.
  • Le applicazioni in esecuzione vengono chieste piacevolmente per uscire.
  • Le applicazioni che ignorano la bella richiesta si chiudono più saldamente.
  • La disconnessione è terminata per completare, prima che il Mac venga definitivamente chiuso.

È molto difficile per un'applicazione o un processo non autorizzato bloccare questi passaggi.

Perché non shutdown

L'utilizzo di shutdown forzerà l'uscita da tutti i processi sul tuo Mac, comprese le applicazioni grafiche. Per molte applicazioni questo è un comportamento aggressivo e non fornisce all'applicazione molte possibilità di salvare lo stato o i dati.

Assistente pianificazione

Power Manager include un'attività di Assistente pianificazione per chiusura ad un programma .

Divulgazione: collaboro con la società che produce Power Manager.

    
risposta data 13.05.2014 - 16:13
fonte
0

Dare un'occhiata a questa nota tecnica di Apple

    
risposta data 17.09.2011 - 13:42
fonte

Leggi altre domande sui tag