OS X: como impedir que o computador durma durante uma conexão http

3

Um aplicativo que eu uso faz o download de dados de um servidor específico, e eu preciso que ele durma depois que o download terminar e o soquete for fechado.

No entanto, os downloads ocorrem em dias aleatórios, o aplicativo que faz o download verifica as atualizações e faz o download apenas se houver uma

Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.1.29.51005     8.8.8.8.80      ESTABLISHED

Pretend 8.8.8.8 é o servidor de onde os dados são baixados.

Existe uma maneira de evitar que o computador durma enquanto houver sessão HTTP em um servidor específico em andamento?

Agora, por favor, desculpe meu script pseduo, mas é a melhor maneira que eu poderia tentar

netstat -anp tcp 
IF Foreign Address = 8.8.8.8 & state = ESTABLISHED
then
    WAIT AND CHECK IN 10 MINUTES
else
    pmset sleepnow
fi
    
por The Regulator 27.11.2013 / 18:59

2 respostas

0

se você converter seu código psudo para sh, aqui está um teste para o seu if

netstat -anp|grep EST|sed 's/^..p6\? \+[^ ]\+ \+[^ ]\+ \+[^ ]\+ \+\([^ ]\+\) \+.*$//'|grep -q 8.8.8.8 && echo connected

para que você precise de um loop while e um sleep 10m e um pmset 0 , mas como minha caixa osx está armazenada, seria uma boa ideia verificar meu problema.

    
por 28.11.2013 / 00:14
2

Desde o Mac OS X 10.8, você deve ser capaz de usar o caffeinate(8) comando.

Experimente caffeinate -s curl http://example.com/some/url .

    
por 28.11.2013 / 09:13