Düzenli olarak planlanmış bir zamanda çalıştırılmasının aksine bu prosedürü başlatmak istediğinizi farz ediyorum.
Benim yaklaşımım bunu komut satırından başlatmak olacaktır, ancak herhangi bir komut bir Automator betiğinin bir kabuk betiği bileşeninde bazı değişikliklerle çalıştırılabilir. Aşağıdaki yaklaşım işi tamamlamak için birkaç bileşeni bir araya getirir:
tell
Uygulamadan çıkmak için bir komut
- Bilgisayarı uyku moduna geçirmek için bir komut satırı çağrısı
- Belirli bir süre için 1 ve 2'yi programlamak için bir komut satırı çağrısı.
1. Uygulamaya istifa etmesini söylemek
Bu kadar basit olabilir:
osascript -e 'tell application "AppName" to quit'
2. Bilgisayarı uyku moduna geçirmek
pmset
Daha fazla ayrıntıya bir göz atın , ancak aşağıdaki komutu vermek bilgisayarınızı uyku moduna geçirir:
pmset sleepnow
3. Belirli bir zamanda çalıştırılacak olan bir işlem planlamak
At komutuna bir göz atın . Bu komut size bir komutun çalışması için bir süre belirtme yeteneği verir. Varsayılan olarak olmadığı için bu işlevi etkinleştirmeniz gerekir. Artalanı etkinleştirmek için atrun
aşağıdaki komutu çalıştırın [SU referansı] :
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
Etkinleştirdikten sonra atrun
, herhangi bir komut belirli bir süre için belirli bir zaman için yayınlanarak programlanabilir.
echo "<command>" | at HH:MM
hangi çalışır çünkü varsayılan olarak at
giriş alır stdin
. Daha basit bir yaklaşım, bir dosyada listelenen komutları çalıştırmaktır. -f
Bayrak kullanılarak bir dosya çalıştırılabilir , ardından aşağıdaki gibi çalıştırılacak komut dosyasının adı:
at -f /path/to/file HH:MM
Hepsini bir araya koy
Aşağıdaki atrun
etkin olduğunu varsayar . Oyuncak örneği olarak, Mail'i bırakmak ve bilgisayarı 11: 00'da uyku moduna geçirmek istediğimi varsayalım. Çalıştırılmasını istediğim komutları içeren bir dosya oluşturacağım:
osascript -e 'tell application "Mail" to quit'
pmset sleepnow
Bu dosyayı kaydedin quit-and-sleep
ve sonra komut satırında çalıştırın.
at -f /path/to/quit-and-sleep 23:00
Uyarılar
Mail'in gerçekten kapalı olduğundan emin olmak için herhangi bir kontrol yapmadım. Bu komut dosyası ayrıca, bilgisayarı uyku moduna geçirmenin yoluna girecek hiçbir şeyin olmayacağını varsayar. İstediğiniz şey için başlangıç noktası olarak basitleştirdim.