Respuestas:
En Mountain Lion puedes usar el caffeinatecomando.
caffeinate -u -t 1000
evitará la inactividad durante 1000 segundos.
La solución a este problema es no mantener despierto al cliente (su Mac). Usar enfoques como este son poco confiables. ¿Qué sucede si se pierde la conexión de red? Incluso si tu Mac está despierta, el script se detendrá.
Utilizar nohup
Si se llama a su script de larga ejecución eternity.sh, intente lo siguiente:
nohup /path/to/eternity.sh > /path/to/output.out &
Ahora incluso puede cerrar la conexión y su script seguirá ejecutándose . Los &antecedentes del proceso para que pueda mantener la conexión abierta e ingresar comandos. Ver cualquier salida de su script a través de:
tail -f /path/to/output.out
Las rutas en los ejemplos son opcionales si el script está en su ruta y desea que la salida del script se escriba output.outen el directorio actual.
Administro scripts que se ejecutan durante días a la vez. Las secuencias de comandos como estas deberían separarse de la terminal. Afortunadamente, nohupproporciona una invocación de comandos fácil de recordar para lograr esto: no piense en un bloqueo .
Otra opción es pmset . Use el comando pmset noidle para evitar dormir mientras se pmsetestá ejecutando. Desafortunadamente, requiere una ventana de Terminal separada con pmsetejecución en ella. Sin embargo, la otra opción, caffeinatesolo le permite establecer un tiempo determinado . Por lo tanto, se trata de elegir si desea abrir una segunda sesión SSH o lidiar con una restricción de tiempo.
Editar: de acuerdo con el comentario de binarybob , en realidad puede ejecutarlo en segundo plano de esta manera: pmset noidle ¶ volver a pmsetescribir fg.
pmseten segundo plano utilizando pmset noidle &y, por lo tanto, continuar utilizando el símbolo del sistema actual. Escriba fgpara pmsetvolver, en cuyo punto puede Ctrl + C
!pmset noidlemuy agradable cuando tienes una computadora de escritorio que sirve una notebook IPython y una laptop que se conecta de forma remota.
caffeinate -i -s /bin/ssh ...
Explicación:
-i - Prevenir el sueño inactivo.
-s- Evite la suspensión del sistema (completamente, incluso si cierra la tapa). Nota: solo funciona con corriente alterna.
/bin/ssh- Solo sigue escribiendo el comando que deseas ejecutar. Usar sshdirectamente en lugar de /bin/sshtambién debería funcionar.
Resultados: su sistema no dormirá mientras el sshcomando se esté ejecutando.
Si está buscando la opción nuclear como yo estaba:
sudo systemsetup -setcomputersleep Never
El protector de pantalla StarMessage ( http://starmessagesoftware.com/moonscreensaver/ ) también tiene la opción de mantener el MAC despierto durante 2 horas, 8 horas o permanencia. Esta forma de desactivar el sueño MAC es mucho más fácil que la cafeína.