Suppongo che desideri avviare questa procedura anziché averla eseguita in un orario regolarmente programmato.
Il mio approccio sarebbe quello di avviarlo dalla riga di comando, ma qualsiasi comando può essere eseguito in un componente script shell di uno script Automator con qualche modifica. Il seguente approccio combina alcuni componenti per completare il lavoro:
- Un
tell
comando per chiudere l'applicazione
- Una chiamata da riga di comando per mettere il computer in modalità sospensione
- Una chiamata da riga di comando per pianificare 1 e 2 per un tempo specifico.
1. Dire all'applicazione di uscire
Questo può essere semplice come:
osascript -e 'tell application "AppName" to quit'
2. Sospensione del computer
Dai un'occhiata pmset
per maggiori dettagli, ma emettendo il seguente comando metterai il tuo computer in standby:
pmset sleepnow
3. Pianificazione di un'operazione da eseguire in un momento specifico
Dai un'occhiata al comando at . Questo comando ti dà la possibilità di specificare un tempo per l'esecuzione di un comando. Dovrai abilitare questa funzionalità poiché non è di default. Per abilitare il atrun
demone, eseguire il comando seguente [riferimento su SU] :
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
Una volta abilitato atrun
, qualsiasi comando può essere programmato per un tempo specifico emettendo
echo "<command>" | at HH:MM
che funziona perché at
accetta l'input stdin
di default. Un approccio più semplice consiste nell'eseguire i comandi elencati in un file. Un file può essere eseguito utilizzando il -f
flag, seguito dal nome dello script da eseguire in questo modo:
at -f /path/to/file HH:MM
Mettere tutto insieme
Ciò che segue presuppone che atrun
sia abilitato. Ad esempio, diciamo che voglio uscire da Mail e mettere il computer in standby alle 23:00. Vorrei creare un file contenente i comandi che voglio eseguire come segue:
osascript -e 'tell application "Mail" to quit'
pmset sleepnow
Salvare quel file quit-and-sleep
e quindi eseguirlo dalla riga di comando
at -f /path/to/quit-and-sleep 23:00
Avvertenze
Non ho fatto alcun controllo per assicurarmi che Mail fosse effettivamente chiuso. Lo script presuppone inoltre che nient'altro possa ostacolare la sospensione del computer. L'ho tenuto semplice qui come punto di partenza per ciò che desideri.