Tengo una larga secuencia de comandos en el equipo remoto.
No quiero terminar mi ssh sesión y necesita entrar en un shell script.
¿Cómo es posible evitar que mi Mac de caer en sueño de la línea de comandos?
Tengo una larga secuencia de comandos en el equipo remoto.
No quiero terminar mi ssh sesión y necesita entrar en un shell script.
¿Cómo es posible evitar que mi Mac de caer en sueño de la línea de comandos?
La solución a este problema es no mantener al cliente (el Mac) despierto. El uso de los enfoques de este tipo son poco fiables. ¿Qué sucede si la conexión de red se pierde? Incluso si su Mac está despierto, el script se detendrá.
Uso nohup
Si su tiempo de ejecución del script se llama eternity.sh
, pruebe lo siguiente:
nohup /path/to/eternity.sh > /path/to/output.out &
Ahora usted puede incluso cerrar la conexión y el script seguirá funcionando. El &
antecedentes el proceso de modo que usted puede mantener la conexión abierta y a introducir los comandos. La vista de cualquier salida de la secuencia de comandos a través de:
tail -f /path/to/output.out
Los caminos en los ejemplos son opcionales si el script está en su camino y desea salida de secuencia de comandos se escriben en output.out
en el directorio actual.
Me administrar secuencias de comandos que se ejecutan durante días a la vez. Los guiones como estos deben ser separados de la terminal. Afortunadamente, nohup
proporciona un fácil de recordar invocación de comandos para lograr esto ... creo que no hangup.
Otra opción es pmset. Utilice el comando pmset noidle
para evitar que duerma mientras pmset
está ejecutando. Por desgracia, se requiere una ventana de Terminal con pmset
que se ejecutan en él. Sin embargo, la otra opción, caffeinate
, sólo se le permite establecer un cierto tiempo. Así que es una cuestión de elegir si desea abrir una segunda sesión de SSH, o lidiar con un tiempo de retención.
Edit: de Acuerdo a binarybob el comentario, en realidad se puede ejecutar en segundo plano como este: pmset noidle &
para volver A pmset
tipo fg
.
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.