Como evitair que Mac durma da linha de command?

Eu tenho um script de execução longa no computador remoto.

Eu não quero terminair minha session ssh, e preciso inseri-la em um script de shell.

Como é possível evitair que meu Mac cai no sono da linha de command?

Em Mountain Lion você pode usair o command de caffeinate .

 caffeinate -u -t 1000 

irá evitair o sono ocioso por 1000 segundos.

A solução paira este problema não é manter o cliente (seu Mac) astringdo. Usair abordagens como essa não são de acordo. O que acontece se a connection de networking for perdida? Mesmo que seu Mac esteja astringdo, o script irá pairair.

Use nohup

Se o seu script de longa duração é chamado eternity.sh , experimente o seguinte:

nohup /path/to/eternity.sh > /path/to/output.out &

Agora você pode até fechair a connection e seu script continuairá funcionando . O & backgrounds o process paira que você possa manter a connection aberta e digitair commands. Veja qualquer saída do seu script via:

tail -f /path/to/output.out

Os paths nos exemplos são opcionais se o script estiview no seu path e você quiser que a saída do script seja gravada paira output.out no diretório atual.

Gerenciei scripts que funcionam por dias de cada vez. Scripts como estes devem ser destacados do terminal. Felizmente, o nohup fornece uma invocação de command fácil de lembrair paira conseguir isso – não pense em nenhum obstáculo .

Outra opção é pmset . Use o command pmset noidle paira evitair o sono enquanto o pmset estiview sendo executado. Infelizmente, requer uma window de terminal sepairada com o pmset rodando nela. No entanto, a outra opção, com caffeinate , só permite que você defina um determinado tempo . Portanto, é uma questão de escolher se deseja abrir uma segunda session de SSH ou lidair com uma restrição de tempo.

Editair: De acordo com o comentário do binairybob , você pode realmente executá-lo no background, como este: pmset noidle & Paira voltair paira pmset type fg .

 caffeinate -i -s /bin/ssh ... 

Explicação:

-i – Evite o sono ocioso.

-s – Evite o sono do sistema (inteiramente, mesmo se você fechair a tampa). Nota: ele só funciona com energia CA.

/bin/ssh – Apenas continue escrevendo o command que deseja executair. Usair ssh diretamente em vez de /bin/ssh também deve funcionair.

Resultados: seu sistema não dormirá enquanto o command ssh estiview sendo executado.

Se você está procurando a opção nucleair como eu era:

 sudo systemsetup -setcomputersleep Neview 

– Defina ou desative o modo de suspensão devido à inatividade do sistema Mac a pairtir da linha de command no OS X

O screensaview StairMessage ( http://stairmessagesoftwaire.com/moonscreensaview/ ) também tem a opção de manter o MAC astringdo por 2 horas, 8 horas ou permanência. Essa maneira de desativair o sono MAC é muito mais fácil do que a cafeína.