Mucha gente desearía esto, incluido yo mismo.
Por desgracia no. Esta operación no existe y no puede existir.
Piense, por ejemplo, en congelar una aplicación que tenía un archivo abierto en el CD o una conexión a Internet abierta. Ahora imagine lo que se necesitaría para "congelarlo" y "descongelarlo": todos los archivos y conexiones se guardarán, luego se volverán a crear, se podrá verificar la unidad de CD y abrir el archivo, se restablecerán las conexiones a Internet con toda la información de inicio de sesión en el sitio, etc. etc.
Esto es demasiado complejo de implementar en cualquier sistema operativo, y también sería un agujero de seguridad.
¿Maquinas virtuales? Sin embargo, eso es terriblemente torpe.
Shinrai el
establecer la prioridad de la aplicación en la configuración más baja? esto, por supuesto, no liberaría la RAM utilizada
Xantec
1
@ Xantec: Esto no resistiría un reinicio.
harrymc
1
entonces, ¿cómo diablos las ventanas incluso hibernan? Dices que es imposible. Si puede hibernar por completo, entonces la hibernación parcial debería ser igual de fácil
Gizmo
1
entonces, si la hibernación de Windows es capaz de suspender mi juego, ¿puedo suspenderlo siempre que no use Internet, unidad de CD o algo que no estará disponible después? Entonces, ¿cómo logro la suspensión y restauración por proceso?
Gizmo
2
Si bien algunos sistemas tienen una tecnología de este tipo, requiere mucho esfuerzo tanto del desarrollador del sistema operativo como del desarrollador de la aplicación. Entonces, en la práctica, considere que la respuesta es no. (Los ejemplos de sistemas en los que esto puede funcionar son las variantes de Unix donde los volcados de núcleo son reiniciables y las implementaciones de Lisp que tienen una función de volcado. Incluso entonces esto puede comportarse de manera extraña si la aplicación tiene conexiones con el mundo exterior, como archivos abiertos).
Puede ejecutar la aplicación en una máquina virtual (por ejemplo, Virtual PC) e hibernar (guardar el estado de) toda la VM. Necesitará una licencia de Windows adecuada en la VM. Si comienza a usar máquinas virtuales, espere que su uso de RAM aumente (si está ejecutando un sistema operativo host y un sistema operativo virtualizado, los requisitos de memoria se suman).
Windows: Monitor de recursos> Memoria> Haga clic con el botón derecho en "process.exe"> Suspender
Linux: "kill - [STOP / CONT] [PID]"
Pero permanecerá en la RAM, incluso si no está utilizando la potencia de la CPU.
Por lo tanto, tendría que mantener su computadora encendida o configurarla estrictamente para hibernar para evitar que el proceso se muera. Mientras tanto, si su computadora está configurada correctamente (no lo he leído tan profundamente), debería poder mover el proceso suspendido a su archivo de página cuando necesita más RAM física.
Sé que esta respuesta es tardía, pero me encontré con esta pregunta mientras buscaba exactamente lo mismo, así que creo que puedo ayudar a cualquier futuro aventurero a encontrar lo que está buscando. ¿Quién sabe? Quizás en el futuro puedan desarrollar el software potencialmente impulsado por IA para lograr esto.
El autor no está usando Linux. Esto se publicó como respuesta, pero no intenta responder la pregunta. Posiblemente debería ser una edición, un comentario, otra pregunta o eliminarse por completo.
Ramhound
@Ramhound Esta respuesta proporciona métodos para Windows y Linux. No puedo verificar si el enfoque sugerido para Windows funciona, pero ciertamente está en la respuesta. El método mencionado para Linux funciona (lo he usado con frecuencia yo mismo).
Respuestas:
Mucha gente desearía esto, incluido yo mismo.
Por desgracia no. Esta operación no existe y no puede existir.
Piense, por ejemplo, en congelar una aplicación que tenía un archivo abierto en el CD o una conexión a Internet abierta. Ahora imagine lo que se necesitaría para "congelarlo" y "descongelarlo": todos los archivos y conexiones se guardarán, luego se volverán a crear, se podrá verificar la unidad de CD y abrir el archivo, se restablecerán las conexiones a Internet con toda la información de inicio de sesión en el sitio, etc. etc.
Esto es demasiado complejo de implementar en cualquier sistema operativo, y también sería un agujero de seguridad.
fuente
Si bien algunos sistemas tienen una tecnología de este tipo, requiere mucho esfuerzo tanto del desarrollador del sistema operativo como del desarrollador de la aplicación. Entonces, en la práctica, considere que la respuesta es no. (Los ejemplos de sistemas en los que esto puede funcionar son las variantes de Unix donde los volcados de núcleo son reiniciables y las implementaciones de Lisp que tienen una función de volcado. Incluso entonces esto puede comportarse de manera extraña si la aplicación tiene conexiones con el mundo exterior, como archivos abiertos).
Puede ejecutar la aplicación en una máquina virtual (por ejemplo, Virtual PC) e hibernar (guardar el estado de) toda la VM. Necesitará una licencia de Windows adecuada en la VM. Si comienza a usar máquinas virtuales, espere que su uso de RAM aumente (si está ejecutando un sistema operativo host y un sistema operativo virtualizado, los requisitos de memoria se suman).
fuente
Técnicamente sí.
Puedes suspenderlo:
Windows: Monitor de recursos> Memoria> Haga clic con el botón derecho en "process.exe"> Suspender
Linux: "kill - [STOP / CONT] [PID]"
Pero permanecerá en la RAM, incluso si no está utilizando la potencia de la CPU.
Por lo tanto, tendría que mantener su computadora encendida o configurarla estrictamente para hibernar para evitar que el proceso se muera. Mientras tanto, si su computadora está configurada correctamente (no lo he leído tan profundamente), debería poder mover el proceso suspendido a su archivo de página cuando necesita más RAM física.
Sé que esta respuesta es tardía, pero me encontré con esta pregunta mientras buscaba exactamente lo mismo, así que creo que puedo ayudar a cualquier futuro aventurero a encontrar lo que está buscando. ¿Quién sabe? Quizás en el futuro puedan desarrollar el software potencialmente impulsado por IA para lograr esto.
fuente