Ich suche nach einer App zum automatischen Herunterfahren, die den Computer zu einem festgelegten Zeitpunkt zwangsweise herunterfährt.
Der wichtigste Teil davon ist, dass das Herunterfahren nicht stornierbar sein sollte (es sei denn, der Prozess ist extrem belastend).
Ok, im Anschluss an meine vorherige Antwort kann ich Ihnen zeigen, wie Sie Cron (einen integrierten UNIX-Zeitplandienst) dazu bringen, einen geplanten Befehl zum Herunterfahren für Sie auszuführen.
Es wird als root ausgeführt und erzwungen.
sudo crontab -e
Sie müssen Ihr Login-Passwort eingeben und dann die Eingabetaste drücken.
Sie befinden sich jetzt in einem Texteditor (vim). Geben Sie die folgenden Tastenanschläge sorgfältig ein.
Angenommen, Sie möchten, dass die Maschine jeden Tag um 2 Uhr morgens heruntergefahren wird, würden wir jetzt eingeben:
* 2 * * * /sbin/shutdown -h now
Wenn Sie möchten, dass die Maschine jeden Tag um 2:30 Uhr heruntergefahren wird, geben Sie Folgendes ein:
30 2 * * * /sbin/shutdown -h now
Sie sollten jetzt zur Befehlszeile zurückkehren, wo Sie begonnen haben.
Du bist fertig!
sudo
da nicht hinstellen? Ich weiß, dass es wahrscheinlich dazu führen wird, dass es auflegt, aber ich bin mir ziemlich sicher, dass Sie root sein müssen, um es auszuführen shutdown
.shutdown
in /sbin
dem steht wohl nicht im default $PATH von cron. Um das Problem zu beheben, wiederholen Sie die sudo crontab -e
Sache, geben Sie ein dd
, um die Zeile zu löschen (vorausgesetzt, die Datei sieht so aus, wie die, die Sie oben verlinkt haben) und geben Sie die Zeile erneut als ein 30 22 * * * /sbin/shutdown -h now
.sudo crontab -e
) und löschen Sie die hinzugefügte Shutdown-Zeile, dann speichern Sie.Es kann jedoch gekündigt werden:
Halt bei yymmddhhmm
:
shutdown -h 1109211555
Halt in 4 Minuten:
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>
Wenn die Plist einem normalen Benutzer gehörte, würde der Versuch, sie zu laden, zu folgendem Fehler führen launchctl: Dubious ownership on file (skipping)
:
sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist
Der Agent kann geladen werden, indem Sie sich abmelden und wieder anmelden oder mit:
sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist
sudo crontab -e
`08 16 * * * /sbin/shutdown -h now`
Dies würde ein normales, nicht erzwungenes Herunterfahren durchführen:
osascript -e 'tell app "System Events" to shut down'
Dies kann in Systemeinstellungen > Energiesparmodus > Zeitplan geplant werden . Ich bin mir nicht sicher, ob dies zu einer erzwungenen Abschaltung führt, Sie müssten es ausprobieren. Aber das ist eine eingebaute Option, um das geplante Herunter- und Hochfahren zu automatisieren.
Sie können das System auch mit einem Terminalbefehl zwangsweise herunterfahren (erfordert root):
herunterfahren -h jetzt
Sie könnten diesen Befehl in eine geplante Aufgabe von launchd oder cron einfügen. In diesem Artikel finden Sie weitere Informationen zu diesen beiden Diensten.
Vielleicht möchten Sie auch eine Anwendung wie das treffend benannte iWannaSleep ausprobieren (nicht sicher, ob dies das Herunterfahren erzwingt ).
Sie können shutdown
direkt verwenden, um einen Shutdown zu einem beliebigen Zeitpunkt in der Zukunft zu planen:
shutdown -h time
wobei time eine zukünftige Zeit in einem von zwei Formaten angibt: +Zahl oder yymmddhhmm, wobei für Jahr, Monat und Tag standardmäßig die aktuellen Systemwerte verwendet werden können. Die erste Form bringt das System in Minuten herunter und die zweite zur angegebenen absoluten Zeit.
Wenn Sie Ihren Mac zu einem geplanten Zeitpunkt sicher herunterfahren möchten , ziehen Sie Power Manager in Betracht ; es fährt gut herunter, ohne dass Anwendungen den Prozess blockieren:
Es ist sehr schwierig für eine bösartige Anwendung oder einen bösartigen Prozess, diese Schritte zu blockieren.
shutdown
Die Verwendung shutdown
erzwingt das Beenden aller Prozesse auf Ihrem Mac, einschließlich grafischer Anwendungen. Für viele Anwendungen ist dies ein aggressives Verhalten und bietet der Anwendung nicht viel Gelegenheit, Zustand oder Daten zu speichern.
Power Manager enthält eine Aufgabe des Zeitplanassistenten zum Herunterfahren nach einem Zeitplan .
Offenlegung: Ich arbeite mit dem Unternehmen zusammen, das Power Manager herstellt.
cd ~/Downloads/
curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist
# siehe Anmerkung unten
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
Wie bereits geschrieben, bewirkt die plist, dass der Computer jeden Tag um 23:00 Uhr (Ortszeit) heruntergefahren wird.
Wenn Sie die Zeit ändern möchten, bearbeiten Sie das Skript in einem beliebigen Texteditor. Ändern Sie die Stunden- und Minutentasten, hier auszugsweise:
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
(beachten Sie die Verwendung der 24-Stunden-Zeit)
Ich würde einen Blick auf diese Tech Note von Apple werfen
TJ Luoma
benwiggy
Harry
Harry
Mateus Ribeiro
Graham Mill
Harry
Mateus Ribeiro