Sto cercando un'app di spegnimento automatico che spenga il computer 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).
Sto cercando un'app di spegnimento automatico che spenga il computer 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).
Risposte:
Ok, così oltre alla mia risposta precedente, posso guidarvi a ottenere cron (un servizio di pianificazione UNIX incorporato) per eseguire un comando di spegnimento programmato per voi.
Verrà eseguito come root e sarà forzato.
sudo crontab -e
Dovrai inserire la tua password di accesso e quindi premere Invio.
Ora sarai in un editor di testo (vim). Inserire attentamente le seguenti sequenze di tasti.
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
Ora dovresti tornare alla riga di comando da cui hai iniziato.
Hai finito!
sudo
Là? So che probabilmente causerà il blocco, ma sono abbastanza sicuro che devi essere root per funzionare shutdown
.
shutdown
è in /sbin
che probabilmente non è nel predefinito $ PATH di cron. Per risolvere, fare il sudo crontab -e
cosa ancora, scrivi dd
per cancellare la linea (assumendo che il file assomigli a quello che hai linkato sopra) e reinserire la linea come 30 22 * * * /sbin/shutdown -h now
.
Può essere cancellato però:
Fermati a yymmddhhmm
:
shutdown -h 1109211555
Fermati 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 eseguiva un normale spegnimento non forzato:
osascript -e 'tell app "System Events" to shut down'
Questo può essere programmato in Preferenze di sistema & gt; Risparmio energetico & gt; Programma . Non sono sicuro che questo avvierà un arresto forzato, dovresti provarlo. Ma questa è un'opzione integrata per automatizzare il down / up programmato.
È anche possibile chiudere forzatamente il sistema con un comando di terminale (richiede root):
shutdown -h ora
Potresti inserire questo comando in a launchd o cron operazione programmata. Check-out Questo articolo per molte più informazioni su questi due servizi.
Si consiglia inoltre di controllare un'applicazione come il nome corretto voglio dormire (non sono sicuro se questo forze spegnimento).
Puoi usare shutdown
direttamente per pianificare un arresto in un dato momento in futuro:
shutdown -h time
dove time 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.
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
Come scritto, il plist farà spegnere il computer alle 23:00 (ora locale) ogni giorno.
Se si desidera modificare l'ora, modificare 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>
(notare l'uso di 24 ore)
Se lo desidera spegnere in sicurezza il tuo Mac a un orario programmato, prendi in considerazione Power Manager ; si chiude bene senza lasciare che le applicazioni blocchino il processo:
È molto difficile per un'applicazione o un processo non autorizzato bloccare questi passaggi.
shutdown
utilizzando shutdown
forzerà l'uscita da tutti i processi sul tuo Mac, incluse le applicazioni grafiche. Per molte applicazioni questo è un comportamento aggressivo e non fornisce all'applicazione molte opportunità di salvare lo stato o i dati.
Power Manager include un task Schedule Assistant per chiudendo a un programma .
Divulgazione: collaboro con la società che produce Power Manager.
Darei un'occhiata a questo nota tecnica di Apple