Enquanto isso não é um hibernate real , o processo pode ser suspenso. Ele irá parar imediatamente de usar os ciclos da CPU, mas ainda estará usando memória. Felizmente, essa memória será trocada para o arquivo de paginação, se você iniciar qualquer aplicativo com uso intensivo de memória, então não é um problema real. O processo suspenso não pode sobreviver ao reboot \ logoff, mas isso será suficiente para jogar um jogo.
Pergunta relacionada: Suspender / Retomar um processo da maneira mais fácil?
Internamente, processo de suspensão pode ser feito através de diferentes abordagens :
-
SuspendThread e par de funções ResumeThread .
-
NtSuspendProcess
function (não documentada oficialmente) que foi introduzida no Windows XP Sp0 e funciona em todas as versões de sistema desde então.
-
Interface de depuração fornecida pela Microsoft, usando DebugActiveProcess e DebugActiveProcessStop funções. Quando um depurador se anexa a um processo remoto, todos os threads do alvo são suspensos imediatamente até que o depurador forneça um sinal para permitir sua execução.
Há várias ferramentas disponíveis que podem suspender um processo:
Além disso, o Monitor de Recursos (
Gerenciador de Tarefas →
Desempenho →
Monitor de Recursos Aberto ) no Windows Vista e superior pode suspender \ retomar processos: