17

Да, я знаю, что спящий режим обычно относится к компьютеру. (Спящий ее смысл означает сохранение программной памяти на диске и возможность ее последовательного восстановления.)

Тем не менее, спящий режим программы может быть очень полезным. Предположим, я хочу поиграть в игру, но некоторые программы, такие как firefox, acrobat, занимают 500M памяти, поэтому я хочу освободить ее. Закрытие, а затем запуск может занять много времени, особенно если данные сеанса не могут быть сохранены. Так что вместо этого я иду и впадаю в спячку. Так есть ли способ, которым я могу перевести программу в спящий режим?

4 ответа4

8

Есть связанный вопрос об этом в StackOverflow. Это больше связано с программированием, но основной принятый ответ объясняет, почему то, что вы пытаетесь сделать, сложно, и предлагает жизнеспособную альтернативу.

По сути, запускайте свои «бизнес» приложения на виртуальной машине и приостанавливайте / переводите в спящий режим / закрывайте ее, когда хотите играть.

4

Хотя это не настоящий спящий режим, процесс может быть приостановлен. Он немедленно прекратит использование циклов ЦП, но все еще будет использовать память. К счастью, эта память будет перенесена в файл подкачки, если впоследствии вы запустите какое-либо ресурсоемкое приложение, так что это не проблема. Приостановленный процесс не может пережить перезагрузку \ выход из системы, но этого будет достаточно, чтобы играть в игру.

Связанный вопрос: приостановить / возобновить процесс простым способом?

Внутренне приостановка процесса может быть осуществлена различными способами:

  • SuspendThread и ResumeThread парный.

  • Функция NtSuspendProcess (официально не задокументированная), которая была представлена в Windows XP Sp0 и с тех пор работает на каждой версии системы.

  • Интерфейс отладки, предоставляемый Microsoft, с использованием функций DebugActiveProcess и DebugActiveProcessStop . Когда отладчик присоединяется к удаленному процессу, все потоки цели немедленно приостанавливаются до тех пор, пока отладчик не даст знак, чтобы они могли выполнить.

Существует ряд инструментов, которые могут приостановить процессы:

Более того, Resource Monitor(Диспетчер задачПроизводительностьОткрыть Resource Monitor) в Windows Vista и выше может приостанавливать \ возобновлять процессы:

Монитор ресурсов

0

"Спячить" приложение не будет быстрее, чем просто закрыть и перезапустить его, хотя ваше мнение о данных сессии является действительным. В общем, не было бы большого преимущества.

-2

Поскольку вы работаете в Windows, вы всегда можете создать две учетные записи пользователей и использовать функцию быстрого переключения учетных записей в Windows и использовать каждую из них для разных наборов приложений. Поскольку Windows в значительной степени зимует, другие видения открываются на компьютере. Я думаю так.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .