Respuestas:
En Mountain Lion puedes usar el caffeinate
comando.
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.out
en 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, nohup
proporciona 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 pmset
está ejecutando. Desafortunadamente, requiere una ventana de Terminal separada con pmset
ejecución en ella. Sin embargo, la otra opción, caffeinate
solo 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 &
para volver a pmset
escribir fg
.
pmset
en segundo plano utilizando pmset noidle &
y, por lo tanto, continuar utilizando el símbolo del sistema actual. Escriba fg
para pmset
volver, en cuyo punto puede Ctrl + C
!pmset noidle
muy 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 ssh
directamente en lugar de /bin/ssh
también debería funcionar.
Resultados: su sistema no dormirá mientras el ssh
comando 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.