Есть ли способ гибернации приложений Windows отдельно?


14

Просто заморозьте приложение (приостановите процессор, сохраните его состояние на диске) и «разморозьте» его, когда я захочу использовать его через 4 недели.


1
Это одна особенность, которую должны поддерживать новые ОС .
Pacerier

Ответы:


8

Многие люди хотели бы этого, в том числе и я.
Увы нет. Эта операция не существует и не может существовать.

Подумайте, например, о замораживании приложения с открытым файлом на компакт-диске или об открытом интернет-соединении. Теперь представьте, что нужно для того, чтобы «заморозить» и «разморозить» его: все файлы и соединения, которые будут сохранены, затем восстановлены, возможно, будет проверен привод компакт-дисков и открыт файл, восстановлены подключения к Интернету со всей информацией для входа в систему. на сайт и т. д.

Это слишком сложно реализовать в любой операционной системе, а также будет дырой в безопасности.


2
Виртуальные машины? Это ужасно неуклюже, хотя.
Shinrai

установить приоритет приложения на самую низкую настройку? это, конечно, не освобождает использованную оперативную память
Xantec

1
@ Xantec: Это не выдержит перезагрузку.
harrymc

1
тогда как, черт возьми, Windows вообще впадает в спящий режим? Вы утверждаете, что это невозможно. Если вы можете полностью впасть в спящий режим, то частичная спячка должна быть такой же простой
Gizmo

1
Итак, я, если Windows Hibernation может приостановить мою игру, вероятно, я могу приостановить ее, если она не использует Интернет, CD-привод или что-нибудь, что впоследствии будет недоступно? Тогда как мне выполнить приостановку и восстановление для каждого процесса?
Gizmo

2

В то время как в некоторых системах такая технология существует, для разработчиков операционной системы и разработчиков приложений требуются большие усилия. Таким образом, на практике считают ответ «нет». (Примерами систем, в которых это может работать, являются варианты Unix, где дампы ядра могут быть перезапущены, и реализации Lisp, которые имеют функцию дампа. Даже в этом случае это может вести себя странно, если приложение имеет соединения с внешним миром, такие как открытые файлы.)

Вы можете запустить приложение на виртуальной машине (например, Virtual PC) и перевести в спящий режим (сохранить состояние) всей виртуальной машины. Вам понадобится подходящая лицензия Windows в ВМ. Если вы начнете использовать виртуальные машины, ожидайте, что объем используемой оперативной памяти будет расти (если вы работаете с хост-ОС и виртуализированной ОС, требования к памяти возрастают).


1

Технически да.

Вы можете приостановить это:

Windows: Монитор ресурсов> Память> Щелкните правой кнопкой мыши «process.exe»> Приостановить

Linux: «убить - [STOP / CONT] [PID]»

Но он останется в оперативной памяти, даже если он не использует мощность процессора.

Таким образом, вам нужно будет либо оставить компьютер включенным, либо установить его в режим гибернации, чтобы процесс не умирал. В то же время, если ваш компьютер настроен правильно (я не читал это глубоко), он должен быть в состоянии переместить приостановленный процесс в ваш файл подкачки, когда ему нужно больше физической памяти.

Я знаю, что этот ответ запоздал, но я наткнулся на этот вопрос, когда искал ту же самую вещь, поэтому я решил, что смогу помочь любым будущим искателям приключений найти то, что они ищут. Кто знает? Возможно, в будущем они могут разработать программное обеспечение на основе искусственного интеллекта для достижения этой цели.


1
Автор не использует Linux. Это было опубликовано в качестве ответа, но оно не пытается ответить на вопрос. Возможно, это должно быть редактирование, комментарий, другой вопрос или полное удаление.
Ramhound

@Ramhound Этот ответ предоставляет методы для Windows и Linux. Я не могу проверить, работает ли предложенный подход для Windows, но он, безусловно, находится в ответе. Метод, упомянутый для Linux, работает (я часто использовал его сам).
Касперд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.