3 votos

mac pro va a dormir en nohup

Tengo el siguiente escenario. Tengo scripts de shell que quiero ejecutar de forma remota en mi mac pro, así que me ssh, les lanza con nohup, y cerrar la sesión. He hecho esto durante años en linux basada en las máquinas, y acabo de empezar a probarlo en el nuevo mac pro. Sin embargo, me parece que el mac se va a dormir mientras estos se están ejecutando, y se necesita mucho más tiempo para terminar. Obviamente puedo deshabilitar el sueño en la energía de las preferencias, pero definitivamente hay veces cuando quiero dejar que se apague. Hay algo que yo pudiera hacer, en términos de un argumento de línea de comandos, que imposibilitaría el sueño mientras el proceso estaba en marcha?

3voto

Steve Evans Puntos 155

caffeinate sus scripts

El uso de las integradas en OS X caffeinate comando para evitar que su Mac se va a dormir. caffeinate es la forma recomendada de alojamiento temporal de restricción en contra de su Mac entrar en un estado de baja energía.

caffeinate crea afirmaciones para modificar el sistema de conducta del sueño. Si no afirmación de los indicadores se especifican, caffeinate crea una afirmación a evitar la suspensión de inactividad. Si la utilidad se especifica, caffeinate crea el afirmaciones sobre la utilidad de la representación, y esas afirmaciones persistirá para la duración de la utilidad de la ejecución. De lo contrario, caffeinate crea las afirmaciones directamente, y esas afirmaciones persistirá hasta caffeinate salidas.

2voto

Sergei Puntos 683

Usted puede utilizar pmset a impedir temporalmente la mac de ir a dormir.

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

Reemplace sleep 10 con su comando.

También puede escribir una función y guardar en .bash_profile.

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

y utilizarlo como este: $ insomnia sleep 10

Recomiendo el uso de screen en lugar de nohup.

Edit: en los nuevos Macs usted debe utilizar caffeinate como se describe por Graham Miln. pmset noidle todavía funciona, pero desde 10.9 está marcada como "obsoleta" en la documentación.

0voto

Mr. JavaScript Puntos 328

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 es conseguir envuelto en caffeinate por lo tanto mantiene el sistema de ir a dormir.

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

sleep                10 (sleep prevented by caffeinate)

AppleAyuda.com

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.

Powered by:

X