Есть ли способ гибернации приложений Windows отдельно?
14
Просто заморозьте приложение (приостановите процессор, сохраните его состояние на диске) и «разморозьте» его, когда я захочу использовать его через 4 недели.
Это одна особенность, которую должны поддерживать новые ОС .
Pacerier
Ответы:
8
Многие люди хотели бы этого, в том числе и я.
Увы нет. Эта операция не существует и не может существовать.
Подумайте, например, о замораживании приложения с открытым файлом на компакт-диске или об открытом интернет-соединении. Теперь представьте, что нужно для того, чтобы «заморозить» и «разморозить» его: все файлы и соединения, которые будут сохранены, затем восстановлены, возможно, будет проверен привод компакт-дисков и открыт файл, восстановлены подключения к Интернету со всей информацией для входа в систему. на сайт и т. д.
Это слишком сложно реализовать в любой операционной системе, а также будет дырой в безопасности.
установить приоритет приложения на самую низкую настройку? это, конечно, не освобождает использованную оперативную память
Xantec
1
@ Xantec: Это не выдержит перезагрузку.
harrymc
1
тогда как, черт возьми, Windows вообще впадает в спящий режим? Вы утверждаете, что это невозможно. Если вы можете полностью впасть в спящий режим, то частичная спячка должна быть такой же простой
Gizmo
1
Итак, я, если Windows Hibernation может приостановить мою игру, вероятно, я могу приостановить ее, если она не использует Интернет, CD-привод или что-нибудь, что впоследствии будет недоступно? Тогда как мне выполнить приостановку и восстановление для каждого процесса?
Gizmo
2
В то время как в некоторых системах такая технология существует, для разработчиков операционной системы и разработчиков приложений требуются большие усилия. Таким образом, на практике считают ответ «нет». (Примерами систем, в которых это может работать, являются варианты Unix, где дампы ядра могут быть перезапущены, и реализации Lisp, которые имеют функцию дампа. Даже в этом случае это может вести себя странно, если приложение имеет соединения с внешним миром, такие как открытые файлы.)
Вы можете запустить приложение на виртуальной машине (например, Virtual PC) и перевести в спящий режим (сохранить состояние) всей виртуальной машины. Вам понадобится подходящая лицензия Windows в ВМ. Если вы начнете использовать виртуальные машины, ожидайте, что объем используемой оперативной памяти будет расти (если вы работаете с хост-ОС и виртуализированной ОС, требования к памяти возрастают).
Windows: Монитор ресурсов> Память> Щелкните правой кнопкой мыши «process.exe»> Приостановить
Linux: «убить - [STOP / CONT] [PID]»
Но он останется в оперативной памяти, даже если он не использует мощность процессора.
Таким образом, вам нужно будет либо оставить компьютер включенным, либо установить его в режим гибернации, чтобы процесс не умирал. В то же время, если ваш компьютер настроен правильно (я не читал это глубоко), он должен быть в состоянии переместить приостановленный процесс в ваш файл подкачки, когда ему нужно больше физической памяти.
Я знаю, что этот ответ запоздал, но я наткнулся на этот вопрос, когда искал ту же самую вещь, поэтому я решил, что смогу помочь любым будущим искателям приключений найти то, что они ищут. Кто знает? Возможно, в будущем они могут разработать программное обеспечение на основе искусственного интеллекта для достижения этой цели.
Автор не использует Linux. Это было опубликовано в качестве ответа, но оно не пытается ответить на вопрос. Возможно, это должно быть редактирование, комментарий, другой вопрос или полное удаление.
Ramhound
@Ramhound Этот ответ предоставляет методы для Windows и Linux. Я не могу проверить, работает ли предложенный подход для Windows, но он, безусловно, находится в ответе. Метод, упомянутый для Linux, работает (я часто использовал его сам).
Ответы:
Многие люди хотели бы этого, в том числе и я.
Увы нет. Эта операция не существует и не может существовать.
Подумайте, например, о замораживании приложения с открытым файлом на компакт-диске или об открытом интернет-соединении. Теперь представьте, что нужно для того, чтобы «заморозить» и «разморозить» его: все файлы и соединения, которые будут сохранены, затем восстановлены, возможно, будет проверен привод компакт-дисков и открыт файл, восстановлены подключения к Интернету со всей информацией для входа в систему. на сайт и т. д.
Это слишком сложно реализовать в любой операционной системе, а также будет дырой в безопасности.
источник
В то время как в некоторых системах такая технология существует, для разработчиков операционной системы и разработчиков приложений требуются большие усилия. Таким образом, на практике считают ответ «нет». (Примерами систем, в которых это может работать, являются варианты Unix, где дампы ядра могут быть перезапущены, и реализации Lisp, которые имеют функцию дампа. Даже в этом случае это может вести себя странно, если приложение имеет соединения с внешним миром, такие как открытые файлы.)
Вы можете запустить приложение на виртуальной машине (например, Virtual PC) и перевести в спящий режим (сохранить состояние) всей виртуальной машины. Вам понадобится подходящая лицензия Windows в ВМ. Если вы начнете использовать виртуальные машины, ожидайте, что объем используемой оперативной памяти будет расти (если вы работаете с хост-ОС и виртуализированной ОС, требования к памяти возрастают).
источник
Технически да.
Вы можете приостановить это:
Windows: Монитор ресурсов> Память> Щелкните правой кнопкой мыши «process.exe»> Приостановить
Linux: «убить - [STOP / CONT] [PID]»
Но он останется в оперативной памяти, даже если он не использует мощность процессора.
Таким образом, вам нужно будет либо оставить компьютер включенным, либо установить его в режим гибернации, чтобы процесс не умирал. В то же время, если ваш компьютер настроен правильно (я не читал это глубоко), он должен быть в состоянии переместить приостановленный процесс в ваш файл подкачки, когда ему нужно больше физической памяти.
Я знаю, что этот ответ запоздал, но я наткнулся на этот вопрос, когда искал ту же самую вещь, поэтому я решил, что смогу помочь любым будущим искателям приключений найти то, что они ищут. Кто знает? Возможно, в будущем они могут разработать программное обеспечение на основе искусственного интеллекта для достижения этой цели.
источник