System Sleep verhindern, während ein Prozess oder Befehl in Mac OS X aktiv ist

Viele Mac-Benutzer verwenden Dienstprogramme, um ihren Computer vorübergehend vom Schlafen abzuhalten, wobei sie sich oft auf Schlafecken, das Drittanbieter-Tool Caffeine, pmset oder seit kurzem das Befehlszeilen-Dienstprogramm, das jetzt mit OS X ausgeliefert wird, Caffeinate, verlassen. Standardmäßig verhindern die Menüeinträge "Caffeine" und "Caffeinate" den Ruhezustand, solange sie einzeln aktiviert werden. Dies ist sehr nützlich für Desktop-Benutzer auf einem Mac, aber nicht besonders nützlich, wenn Sie die Schlaffunktion von OS X nutzen möchten abhängig von der Beendigung eines bestimmten Prozesses oder einer bestimmten Aufgabe.

Das werden wir hier behandeln, indem wir die Befehlszeile verwenden, die einen prozessabhängigen Schlafschutz hat, der nur die Mac-Schlaffunktion blockiert, während ein bestimmter Befehl, eine bestimmte Aufgabe oder ein bestimmter Prozess ausgeführt wird oder aktiv ist Computer wird traditionelle Schlafgewohnheiten wiederherstellen.


Um eine befehlsspezifische Schlafvermeidung zu erreichen, verwenden wir eine Variante des Koffeinat-Befehls, der Schlaf auf verschiedene Arten verhindern kann. Wir werden ein paar Beispiele durchgehen, aber die man-Seite von coffeinate bietet ein paar zusätzliche Optionen, die auch für andere Situationen wünschenswert sein können.

Für unsere Zwecke, um den Schlafschutz von der Ausführung eines bestimmten Befehls oder Prozesses abhängig zu machen, verwenden Sie das Flag -l so:

caffeinate -i [command / process]

Es mag bereits offensichtlich sein, aber das Ausführen des Caffeinate-Befehls wie diesem startet auch den Befehl oder Prozess, der in dem Argument angegeben ist.

Wenn Sie beispielsweise möchten, dass der Mac bei aktiviertem Befehl "make" nicht schlafen kann, verwenden Sie die folgende Befehlssyntax:

caffeinate -i make

Oder vielleicht möchten Sie nur den Schlaf verhindern, während eine SSH-Verbindung zu einem bestimmten Server aktiv ist, und Sie möchten den Befehl caffeinate in den Hintergrund setzen, dann würden Sie auch ein Und-Zeichen auf das Ende anwenden:

caffeinate -i ssh coffeebeans &

Sie können dies sogar mit Ihren eigenen Skripten oder Befehlen an einem anderen Ort ausführen:

caffeinate -i /private/tmp/./whatisthis.sh

Um den Schlafschutz aktiv zu haben, müssen Sie die folgende Syntax verwenden, solange der Safari-Webbrowser in der GUI ausgeführt wird. Beachten Sie, dass Sie den vollständigen Pfad zur Binärdatei in der APP-Datei angeben müssen:

caffeinate -i /Applications/Safari.app/Resources/MacOS/Safari

Das Flag -i verhindert den Systemschlaf, Sie können jedoch auch andere Flags verwenden, um Assertions zu erstellen, um Festplatten- oder Display-Sleeping zu verhindern. Um den Ruhezustand des Displays zu verhindern (dh den Bildschirm auszuschalten und in den gesperrten Modus oder einen Bildschirmschoner zu wechseln), wird das Flag -d benötigt:

caffeinate -d [command / process]

Wie das Flag -i, das für jede Systemaufgabe gelten kann, egal ob es von der Befehlszeile oder der GUI aus ausgeführt wird, geben Sie nur den richtigen Namen mit der richtigen Groß- / Kleinschreibung an. Ein anderes Beispiel:

caffeinate -d telnet towel.blinkenlights.nl

Dieser Befehl bedeutet, dass, solange Telnet zu dem Star Wars ASCII-Film aktiv ist, das Mac-Display nicht schlafen wird. Wenn Telnet beendet wird oder Star Wars beendet ist, schläft das System möglicherweise wie gewohnt, definiert durch Schlaf- und Energieeinstellungen in OS X.

Natürlich, da Koffeinat ausschließlich in der Befehlszeile basiert, wird es nicht für alle Benutzer anwendbar sein, aber für diejenigen, die viel Zeit im Terminal verbringen, kann es ein großer Trick sein. Für Mac-Benutzer, die sich mit der grafischen Benutzeroberfläche vertrauter fühlen, sind eine effektive Anti-Schlaf-Ecke und die Verwendung der Caffeine-App immer noch wahrscheinlich die besten Wetten, um ähnliche Funktionen auszuführen.

Wenn Sie eine ähnliche prozessabhängige Aufgabe ausführen möchten, aber das Terminal und die Befehlszeile vermeiden möchten, führt die Wimoweh-App das gleiche aus wie eine Dropdown-Menüleiste, obwohl es eine kostenpflichtige App ist, die sie für einige Benutzer weniger wünschenswert macht. und es bietet kein allgemeines Prozess- oder Befehlszeilen-basiertes Aufgabenabschluss-Argument. Daher wird Koffein mit einer richtigen Flagge immer noch von vielen bevorzugt.