Folgendes Problem hatte ich seit dem Upgrade auf Mac OS Mountain Lion: Das System scheint wesentlich agressiver zu sein was das Einschlafen (idle sleep) angeht. Während beispielsweise meine Macports neu kompilierten schlief das System regelmäßig nach der in den Energie-Einstellungen festgelegten Zeit ein, da ich es nicht anderweitig nutzte.
Abhilfe schafft das von Apple mitgelieferte Kommandozeilen-Tool caffeinate
.
Mit caffeinate
kann man Prozesse einfach so ausführen wie man das von sudo
kennt, also beispielsweise so:
caffeinate sudo port upgrade outdated
Man schreibt caffeinate
einfach vor den Befehl, der auf jeden Fall abgeschlossen werden soll, bevor das System einschläft. Das klappt auch in Kombination mit sudo
, time
etc.
Ich nutze caffeinate
auch gerne, um im Nachhinein dafür zu sorgen, dass der Rechner eine Weile an bleibt, das geht so:
caffeinate -s -t 3600
Dieser Befehl sorgt dafür, dass das System eine Stunde (3600 Sekunden) lang nicht einschläft. Der Bildschirm wird allerdings einschlafen – was ja bei der Ausführung von Jobs im Hintergrund nicht weiter stören dürfte.
caffeinate
kennt noch ein paar weitere Optionen. Welche, verrät uns die Manpage (die man mit man caffeinate
aufruft):
Available options: -d Create an assertion to prevent the display from sleeping. -i Create an assertion to prevent the system from idle sleeping. -s Create an assertion to prevent the system from sleeping. This assertion is valid only when system is running on AC power. -u Create an assertion to declare that user is active. If the display is off, this option turns the display on and prevents the display from going into idle sleep. If a timeout is not specified with '-t' option, then this assertion is taken with a default of 5 second timeout. -t Specifies the timeout value in seconds for which this assertion has to be valid. The assertion is dropped after the speci- fied timeout. Timeout value is not used when an utility is invoked with this command.