mac pro se va a dormir en nohup

3

Tengo el siguiente escenario. Tengo scripts de shell que quiero ejecutar de forma remota en mi Mac Pro, así que los inserto, los ejecuto con nohup y me desconecto. He hecho esto durante años en máquinas basadas en Linux, y acabo de comenzar a probarlo en el nuevo mac pro. Sin embargo, encuentro que la Mac se duerme mientras se ejecutan, y se tarda mucho más en terminar. Obviamente, puedo desactivar el sueño en las preferencias de energía, pero definitivamente hay momentos en que quiero que se apague. ¿Hay algo que pueda hacer, en términos de un argumento de línea de comandos, que deshabilite la suspensión mientras el proceso se estaba ejecutando?

    
pregunta user2379888 29.05.2014 - 05:56

3 respuestas

3

cafeína tus guiones

Use el comando caffeinate integrado en OS X para evitar que su Mac se duerma. caffeinate es la forma recomendada de presentar una restricción temporal para que su Mac ingrese en un estado de bajo consumo.

  

caffeinate crea aserciones para alterar el comportamiento del sueño del sistema. Si no   se especifican los indicadores de aserción, caffeinate crea una aserción para   evitar el sueño inactivo. Si se especifica una utilidad, el cafeína crea el   afirmaciones en nombre de la empresa de servicios públicos, y esas afirmaciones se mantendrán   durante la ejecución de la empresa. De lo contrario, cafeína.   crea las aserciones directamente, y esas aseveraciones persistirán   hasta que el cafeinato salga.

    
respondido por el Graham Miln 29.05.2014 - 18:58
2

Puedes usar pmset para evitar que Mac se quede en modo de suspensión.

pmset noidle & PMSETPID=${!};sleep 10; kill $PMSETPID

Reemplaza sleep 10 con tu comando.

También puedes escribir una función y guardarla en .bash_profile .

insomnia() {
    pmset noidle &
    PMSETPID=$!
    $($@)
    kill $PMSETPID
}

y úsalo así: $ insomnia sleep 10

Recomiendo usar screen en lugar de nohup .

Editar: en Macs más nuevas, debes usar caffeinate como lo describe Graham Miln. pmset noidle todavía funciona, pero desde 10.9 está marcado como "obsoleto" en la documentación.

    
respondido por el Sergei 29.05.2014 - 18:32
0

Hice una función dentro de mi ~ / .bash_profile , así:

# ~/.bash_profile

# wrap ssh so computer doesn't go to sleep
ssh()
{
    echo "caffeinating ssh session..."
    LC_CTYPE= # fix issue with UTF8 on server
    caffeinate -i ssh "$@"
}

Ahora, cuando uso mi "común", el comando ssh se envuelve en cafeína , por lo tanto evita que el sistema entre en modo de suspensión.

Ahora cuando comienzo una sesión ssh, puedo ver que pmset -g me dice:

sleep                10 (sleep prevented by caffeinate)
    
respondido por el Roger 01.07.2014 - 09:47

Lea otras preguntas en las etiquetas