Impedir a suspensão do Mac ou PC enquanto um agente de programação trabalha
Impeça que um Mac ou um PC com Windows entre em suspensão durante uma tarefa longa de um agente de programação, com o caffeinate ou as definições de suspensão, e reponha-as depois.
Para manter um Mac acordado enquanto um agente de programação trabalha, abra o Terminal, execute caffeinate -i e deixe a janela aberta até a tarefa terminar. No Windows 11, nas Definições, mude para Nunca o tempo de suspensão com o computador ligado à corrente e reponha-o depois. Mantenha um portátil ligado ao transformador e com a tampa aberta.
Este guia aborda o macOS e o Windows 11, mas não o uso de um portátil com a tampa fechada. O Mono da Reunified consegue manter um Mac acordado enquanto um agente trabalha, mas estes passos funcionam com qualquer agente.
1. Saiba o que a suspensão faz a uma sessão de agente
A suspensão pausa todos os programas, incluindo o agente, e corta as ligações de rede. A sessão pode não recuperar bem.
- A suspensão do ecrã só desliga o ecrã. Os programas continuam a correr.
- A suspensão por inatividade põe o computador em suspensão ao fim de algum tempo sem interação. Um agente ocupado não conta como interação.
- Fechar a tampa de um portátil põe-no normalmente em suspensão, digam o que disserem as definições de inatividade.
- Encerrar ou reiniciar termina a sessão.
Não conte com o telemóvel para acordar um computador que está em suspensão ou desligado.
Exemplo fictício: antes do almoço, deixa um agente a atualizar dependências e a correr testes no seu projeto «tidy-recipes». São cerca de 40 minutos de trabalho num MacBook Air ligado à corrente.
2. Mantenha um Mac acordado durante uma tarefa com o caffeinate
O caffeinate vem incluído no macOS. Com -i, impede a suspensão por inatividade enquanto está a correr. Quando para, voltam a aplicar-se as suas definições habituais.
| Comando | Efeito |
|---|---|
caffeinate -i |
Acordado até o parar com Control + C |
caffeinate -i <command> |
Executa o comando e fica acordado até ele terminar |
caffeinate -i -t 3600 |
Acordado durante 3600 segundos (uma hora) |
caffeinate -i -w <pid> |
Acordado até esse processo terminar |
caffeinate -d |
Mantém o ecrã ligado |
O agente do tidy-recipes corre numa aplicação para computador, por isso não o pode iniciar através do caffeinate. Em vez disso, executa caffeinate -i -t 3600, uma hora para 40 minutos de trabalho, e deixa essa janela do Terminal aberta. A coluna PID do Monitor de Atividade dá o identificador para -w, e man caffeinate lista todas as opções.
3. Altere as definições de suspensão do Mac para sessões mais longas
Se os agentes correm durante horas ou todos os dias, mude antes uma definição. O guia da Apple sobre as definições do modo de pausa e de reativação mostra onde:
- Portátil: em Definições do Sistema > Bateria > Opções, ative «Impedir ativação automática do modo de pausa quando ligado à corrente e o monitor desligado».
- Computador de secretária: em Definições do Sistema > Energia, ative «Impedir ativação automática do modo de pausa quando o monitor desligado».
A Apple avisa que impedir o modo de pausa pode aumentar o consumo de energia. «Reativar para permitir acesso pela rede» só deixa o Mac acordar por instantes para serviços partilhados. Não mantém um agente a correr.
No Mono, num Mac, Configurações > Code tem a opção «Impedir a suspensão enquanto um agente trabalha», ativada por predefinição. Adia a suspensão por inatividade até o agente terminar o seu turno. Fechar a tampa continua a pôr o Mac em pausa. «Continuar trabalhando com a tela bloqueada», também ativada por predefinição, deixa que as sessões abertas continuem enquanto o ecrã está bloqueado. O Mono não tem nenhuma definição de suspensão no Windows.
4. Mantenha um PC com Windows acordado
No Windows 11, abra Iniciar > Definições > Sistema > Energia e bateria (Power & battery) e depois os tempos limite do ecrã, suspensão e hibernação (Screen, sleep, & hibernate timeouts), como mostra o guia da Microsoft sobre as definições de energia. Num computador de secretária, a página pode chamar-se Energia (Power).
Em «Colocar o meu dispositivo em suspensão após», anote o valor para quando está ligado à corrente e depois mude-o para Nunca ou para um tempo bem superior à duração da tarefa.
No dia seguinte, executa uma tarefa parecida, de 40 minutos, no «den-pc», um computador de secretária com Windows que entra em suspensão ao fim de 30 minutos. É menos do que dura a tarefa, por isso anota 30 minutos e escolhe Nunca.
Para repor o temporizador mais tarde a partir de um terminal, o powercfg recebe o valor em minutos: powercfg /change standby-timeout-ac 30.
5. Prepare uma tarefa longa que vai deixar a correr
Preencha isto antes de sair.
| Verificação | MacBook Air | den-pc (Windows) |
|---|---|---|
| Energia e tampa | Transformador ligado, tampa aberta | Computador de secretária, ligado à corrente |
| O que o mantém acordado | caffeinate -i -t 3600 |
Suspensão definida como Nunca |
| Valor a repor | Nenhum | 30 minutos |
| Atualizações instaladas, sem reinício pendente | Sim | Sim |
| Agente a correr, alertas testados, telemóvel carregado | Sim | Sim |
Acompanhe o primeiro passo do agente, para confirmar que não fica parado num pedido de início de sessão ou por falta de uma ferramenta. Configure as notificações do agente de programação para saber quando termina ou precisa de aprovação, e use o guia de programação remota para o acompanhar a partir do telemóvel.
6. Reponha as suas definições quando a tarefa terminar
- Pare o
caffeinatecom Control + C, ou deixe o tempo esgotar-se. - Desative qualquer opção de pausa do Mac que tenha ativado.
- No Windows, reponha o tempo de suspensão que anotou (30 minutos no den-pc).
Depois, confirme que nada continua a manter o computador acordado. Num Mac, execute pmset -g assertions no Terminal e veja a secção «Listed by owning process». O caffeinate não deve aparecer lá, embora entradas de áudio ou do sistema sejam normais. No Windows, execute powercfg /requests num terminal aberto como administrador. O comando lista as aplicações e os controladores que mantêm o ecrã ligado ou o computador acordado.
Por fim, reveja as alterações do agente antes de fazer qualquer commit. O Mono ainda não está disponível, mas pode inscrever-se na lista de espera.
