Antworten:
In Mountain Lion können Sie den caffeinate
Befehl verwenden.
caffeinate -u -t 1000
verhindert den Leerlauf für 1000 Sekunden.
Die Lösung für dieses Problem ist nicht hält den Client (Mac) wach. Solche Ansätze sind nicht verlässlich. Was passiert, wenn die Netzwerkverbindung unterbrochen wird? Selbst wenn Ihr Mac wach ist, wird das Skript angehalten.
Benutzen nohup
Wenn Ihr lang laufendes Skript aufgerufen wird eternity.sh
, versuchen Sie Folgendes:
nohup /path/to/eternity.sh > /path/to/output.out &
Jetzt können Sie sogar die Verbindung schließen und Ihr Skript wird weiter ausgeführt . Die &
Hintergründe des Prozesses, damit Sie die Verbindung offen halten und Befehle eingeben können. Zeigen Sie alle Ausgaben Ihres Skripts an über:
tail -f /path/to/output.out
Die Pfade in den Beispielen sind optional, wenn sich das Skript in Ihrem Pfad befindet und die Skriptausgabe output.out
in das aktuelle Verzeichnis geschrieben werden soll.
Ich verwalte Skripte, die tagelang ausgeführt werden. Skripte wie diese sollten vom Terminal getrennt werden. Zum Glück nohup
bietet dies einen leicht zu merkenden Befehlsaufruf, um dies zu erreichen - denken Sie an kein Auflegen .
Eine weitere Option ist pmset . Verwenden Sie den Befehl pmset noidle
, um den Ruhezustand zu verhindern, solange er ausgeführt pmset
wird. Leider ist ein separates Terminalfenster erforderlich pmset
, in dem ausgeführt wird. Mit der anderen Option caffeinate
können Sie jedoch nur eine bestimmte Zeit einstellen . Es ist also eine Frage der Wahl, ob Sie eine zweite SSH-Sitzung eröffnen oder sich mit einer Zeitbeschränkung befassen möchten.
Bearbeiten: Laut dem Kommentar von binarybob können Sie es tatsächlich im Hintergrund wie folgt ausführen: pmset noidle &
Um zum pmset
Typ zurückzukehren fg
.
pmset
im Hintergrund ausführen pmset noidle &
und daher weiter verwenden. Geben Sie fg
bekommen pmset
zurück, an welcher Stelle Sie können Strg + C,
!pmset noidle
- Sehr schön, wenn Sie einen Desktop haben, der IPython-Notebooks bedient, und einen Laptop, der eine Remoteverbindung herstellt.
caffeinate -i -s /bin/ssh ...
Erläuterung:
-i
- Vermeiden Sie müßigen Schlaf.
-s
- Verhindern Sie den Systemschlaf (vollständig, auch wenn Sie den Deckel schließen). Hinweis: Es funktioniert nur bei Wechselstrom.
/bin/ssh
- Schreiben Sie einfach weiter den Befehl, den Sie ausführen möchten. Die ssh
direkte Verwendung anstelle von /bin/ssh
sollte ebenfalls funktionieren.
Ergebnisse: Ihr System wird nicht in den Ruhezustand versetzt, solange der ssh
Befehl ausgeführt wird.
Wenn Sie nach der nuklearen Option suchen, wie ich es war:
sudo systemsetup -setcomputersleep Never
Der StarMessage-Bildschirmschoner ( http://starmessagesoftware.com/moonscreensaver/ ) bietet auch die Option, den MAC 2 Stunden, 8 Stunden oder dauerhaft wach zu halten. Diese Art der Deaktivierung des MAC-Schlafes ist viel einfacher als Koffein.