Ich gehe davon aus, dass Sie dieses Verfahren einleiten möchten, anstatt es zu einem regelmäßig geplanten Zeitpunkt ausführen zu lassen.
Mein Ansatz wäre, dies über die Befehlszeile zu initiieren, aber alle Befehle können mit einigen Änderungen in einer Shell-Skriptkomponente eines Automator-Skripts ausgeführt werden. Der folgende Ansatz kombiniert einige Komponenten, um die Arbeit zu erledigen:
- Ein
tell
Befehl zum Beenden der Anwendung
- Ein Befehlszeilenaufruf, um den Computer in den Energiesparmodus zu versetzen
- Ein Befehlszeilenaufruf zum Planen von 1 und 2 für eine bestimmte Zeit.
1. Fordern Sie die Anwendung auf, das Programm zu beenden
Dies kann so einfach sein wie:
osascript -e 'tell application "AppName" to quit'
2. Schalten Sie den Computer aus
Werfen Sie einen Blick auf , pmset
um weitere Informationen, aber den folgenden Befehl ausgeben wird setzen Sie Ihren Computer zu schlafen:
pmset sleepnow
3. Planen eines Vorgangs, der zu einem bestimmten Zeitpunkt ausgeführt werden soll
Schauen Sie sich den Befehl at an . Mit diesem Befehl können Sie eine Zeit angeben, zu der ein Befehl ausgeführt werden soll. Sie müssen diese Funktion aktivieren, da sie nicht standardmäßig aktiviert ist. atrun
Führen Sie zum Aktivieren des Dämons den folgenden Befehl aus [Referenz auf SU] :
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
Sobald Sie aktiviert haben atrun
, kann jeder Befehl durch Ausgabe für eine bestimmte Zeit geplant werden
echo "<command>" | at HH:MM
Das funktioniert, weil at
es stdin
standardmäßig eingegeben wird. Ein einfacherer Ansatz besteht darin, Befehle auszuführen, die in einer Datei aufgeführt sind. Eine Datei kann mithilfe des -f
Flags ausgeführt werden, gefolgt vom Namen des Skripts, das wie folgt ausgeführt werden soll:
at -f /path/to/file HH:MM
Alles zusammenfügen
Was folgt, setzt voraus, dass atrun
aktiviert ist. Nehmen wir als Spielzeugbeispiel an, ich möchte Mail beenden und den Computer um 23:00 Uhr in den Ruhezustand versetzen. Ich würde eine Datei mit den Befehlen erstellen, die wie folgt ausgeführt werden sollen:
osascript -e 'tell application "Mail" to quit'
pmset sleepnow
Speichern Sie diese Datei in quit-and-sleep
und führen Sie sie in der Befehlszeile aus
at -f /path/to/quit-and-sleep 23:00
Vorsichtsmaßnahmen
Ich habe nicht überprüft, ob Mail tatsächlich geschlossen wurde. Das Skript geht auch davon aus, dass nichts anderes dem Einschalten des Computers im Wege steht. Ich habe es hier als Ausgangspunkt für das, was Sie wollen, einfach gehalten.