Zakładam, że chcesz zainicjować tę procedurę, a nie jej regularne uruchamianie.
Moim podejściem byłoby zainicjowanie tego z wiersza poleceń, ale wszelkie polecenia można uruchamiać w komponencie skryptu powłoki skryptu Automator z pewnymi modyfikacjami. Poniższe podejście łączy kilka składników w celu wykonania zadania:
tell
Polecenie, aby zamknąć aplikację
- Wywołanie z wiersza poleceń, aby uśpić komputer
- Wywołanie z wiersza poleceń, aby zaplanować 1 i 2 na określony czas.
1. Powiedzenie aplikacji, aby wyjść
Może to być tak proste, jak:
osascript -e 'tell application "AppName" to quit'
2. Przełączanie komputera w tryb uśpienia
Spójrz na pmset
więcej szczegółów, ale wydanie następującego polecenia spowoduje przejście komputera w tryb uśpienia:
pmset sleepnow
3. Planowanie uruchomienia operacji o określonej godzinie
Spójrz na komendę at . To polecenie umożliwia określenie czasu uruchomienia polecenia. Musisz włączyć tę funkcję, ponieważ nie jest ona domyślnie. Aby włączyć atrun
demona, uruchom następującą komendę [odniesienie na SU] :
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
Po włączeniu atrun
można wydać dowolne polecenie na określony czas
echo "<command>" | at HH:MM
co działa, ponieważ domyślnie at
pobiera dane wejściowe stdin
. Prostszym podejściem jest uruchamianie poleceń wymienionych w pliku. Plik można wykonać za pomocą -f
flagi, a następnie nazwy skryptu, który ma zostać uruchomiony w następujący sposób:
at -f /path/to/file HH:MM
Kładąc wszystko razem
Poniżej założono, że atrun
jest włączony. Jako przykład zabawki powiedzmy, że chcę wyjść z Maila i uśpić komputer o 23:00. Chciałbym utworzyć plik zawierający polecenia, które chcę uruchomić w następujący sposób:
osascript -e 'tell application "Mail" to quit'
pmset sleepnow
Zapisz ten plik w, quit-and-sleep
a następnie uruchom w wierszu polecenia
at -f /path/to/quit-and-sleep 23:00
Ostrzeżenia
Nie sprawdziłem, aby upewnić się, że Mail faktycznie został zamknięty. Skrypt zakłada również, że nic więcej nie będzie przeszkadzało w uśpieniu komputera. Uczyniłem to prostym jako punkt wyjścia do tego, czego chcesz.