Executar no comando quando o computador está dormindo

2

Eu quero agendar um trabalho usando o comando at , mas meu laptop pode ter entrado em suspensão nessa hora. Então a questão é que o comando será executado?

Se sim, como? Quero dizer, meu computador vai acordar e que o comando será executado ou algo mais?
Se não, por que não?

    
por Edward Torvalds 22.01.2016 / 17:59

2 respostas

2

"Sleep" é definido como consumo de energia ultrabaixo: todos os subsistemas ficam desativados e consomem muito pouca energia, mas podem ser ativados rapidamente por um evento externo : tampa aberta, botão liga / desliga, tecla pressionada, pacote WOL, BIOS.

Portanto, não, seu comando não estará sendo executado no modo "sleep" , mas pode ser executado no modo de baixo consumo : nesse modo, seu disco será desligado se não é necessário mais e o mesmo vale para a tela, teclado, ... mas WiFi, LAN, memória, CPU, ... apenas continue se afastando.

Como alternativa, você pode:

  1. Enviar pacotes WOL por um servidor que nunca dorme e "acordará" (mesmo da hibernação ou completamente desligado) outras máquinas que têm permissão para dormir. (como os vigias noturnos que acordarão a Guarda Real completa)
  2. Se a sua BIOS suporta este recurso: Faça com que o BIOS acorde sua máquina em um ponto específico no tempo. (outro exemplo de um despertar externo)

; -)

    
por 22.01.2016 / 18:19
1

Eu não acho que você pode fazer isso com at , mas você pode usar o rtcwake .

Veja também link , em particular:

Use the && operator to run a specific command after rtcwake wakes your system from sleep. For example, the following command suspends your computer to RAM, wakes it two minutes later, and then launches Firefox:

rtcwake -m mem -s 120 && firefox

e

For example, to have your computer wake up at 6:30am tomorrow but not suspend immediately (assuming your hardware clock is set to local time), run the following command:

sudo rtcwake -m no -l -t $(date +%s -d ‘tomorrow 06:30’)

Mas, ao contrário de usar at , você precisa se preocupar se já é meia-noite: obviamente, você precisa de tomorrow 06:30 antes da meia-noite e apenas 06:30 depois da meia-noite. Esta resposta tem uma solução para isso.

    
por 01.09.2017 / 15:27

Tags