Bilgisayarı belirli bir zamanda zorla kapatacak bir otomatik kapatma uygulaması arıyorum.
Bunun en önemli kısmı kapatma işleminin iptal edilememesi gerektiğidir (işlem aşırı derecede zahmetli olmadıkça).
Bilgisayarı belirli bir zamanda zorla kapatacak bir otomatik kapatma uygulaması arıyorum.
Bunun en önemli kısmı kapatma işleminin iptal edilememesi gerektiğidir (işlem aşırı derecede zahmetli olmadıkça).
Yanıtlar:
Tamam, önceki cevabımın ilerisinde, sizin için planlanmış bir kapatma komutu çalıştırmak için cron (yerleşik bir UNIX zamanlama hizmeti) alarak size yol gösterebilirim.
Kök olarak çalışır ve zorlanır.
sudo crontab -e
Oturum açma parolanızı girmeniz ve ardından enter tuşuna basmanız gerekir.
Şimdi bir metin editöründe olacaksınız (vim). Aşağıdaki tuş vuruşlarını dikkatlice girin.
Makinenin her gün saat 2'de kapanmasını istediğinizi varsayalım, şimdi gireceğiz:
* 2 * * * /sbin/shutdown -h now
Makinenin her gün saat 02: 30'da kapanmasını istiyorsanız, şunu girersiniz:
30 2 * * * /sbin/shutdown -h now
Şimdi başladığınız komut satırına geri dönmelisiniz.
Sen bittin!
sudo
Oraya koymanıza gerek yok mu? Bunun muhtemelen kapatılmasına neden olacağını biliyorum, ancak emin olmak için kök olmanız gerektiğinden eminim shutdown
.
shutdown
olduğu /sbin
cron'nun varsayılan $ PATH içinde muhtemelen olmadığı. Düzeltmek için işlemi sudo crontab -e
tekrarlayın, dd
satırı silmek için yazın (dosyanın yukarıda bağladığınız gibi göründüğü varsayılarak) ve satırı yeniden girin 30 22 * * * /sbin/shutdown -h now
.
Yine de iptal edilebilir:
Durdur yymmddhhmm
:
shutdown -h 1109211555
4 dakika içinde dur:
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>
Plist normal bir kullanıcıya aitse, yüklemeye çalışmak hataya neden olur launchctl: Dubious ownership on file (skipping)
:
sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist
Aracı oturumu kapatıp tekrar açarak veya aşağıdakilerle yüklenebilir:
sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist
sudo crontab -e
`08 16 * * * /sbin/shutdown -h now`
Bu, zorla çalıştırılmayan normal bir kapatma gerçekleştirecektir:
osascript -e 'tell app "System Events" to shut down'
Bu, Sistem Tercihleri> Enerji Tasarrufu> Zamanlama'da programlanabilir . Bunun zorunlu bir kapanma başlatacağından emin değilim, denemek zorunda kalacaksınız. Ancak bu, planlanan gücü azaltma / artırma işlemlerini otomatikleştirmek için yerleşik bir seçenektir.
Sistemi bir terminal komutuyla da zorla kapatabilirsiniz (root gerektirir):
kapanma -h şimdi
Bu komutu bir launchd veya cron zamanlanmış göreve koyabilirsiniz . Bu iki hizmet hakkında daha fazla bilgi için bu makaleye göz atın .
Ayrıca zaten adı gibi bir uygulama kontrol etmek isteyebilirsiniz iWannaSleep (değil emin eğer bu kuvvetler kapatma).
shutdown
Gelecekte herhangi bir zamanda bir kapatma planlamak için doğrudan kullanabilirsiniz :
shutdown -h time
burada saat, iki biçimden birinde gelecekteki bir zamanı belirtir: + sayı veya yymmddhhmm; burada yıl, ay ve gün geçerli sistem değerlerine varsayılan olarak getirilebilir. İlk form sistemi birkaç dakika içinde, ikincisi ise belirtilen mutlak zamanda indirir.
cd ~/Downloads/
curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist
# aşağıdaki nota bakın
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
Yazıldığı gibi, plist bilgisayarın her gün 23: 00'da (yerel saat) kapanmasına neden olacaktır.
Saati değiştirmek isterseniz, komut dosyasını herhangi bir metin düzenleyicisinde düzenleyin. Burada alıntılanan Saat ve Dakika tuşlarını değiştirin:
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
(24 saatlik zaman kullanımına dikkat edin)
Mac'inizi belirli bir zamanda güvenle kapatmak istiyorsanız , Power Manager'ı düşünün ; uygulamaların işlemi engellemesine izin vermeden güzel bir şekilde kapanır:
Bir sahte uygulama veya işlemin bu adımları engellemesi çok zordur.
shutdown
Kullanmak shutdown
, grafik uygulamaları da dahil olmak üzere Mac'inizdeki tüm işlemlerden çıkmaya zorlar. Birçok uygulama için bu saldırgan bir davranıştır ve uygulamaya durum veya veri kaydetmek için fazla fırsat sağlamaz.
Power Manager, bir zamanlamayı kapatmak için bir Zamanlama Yardımcısı görevi içerir .
Açıklama: Power Manager yapan şirketle çalışıyorum.
Apple'ın bu teknik notuna bir göz atacağım