我怎样才能“休眠”一个应用程序?

时间:2010-11-11 11:17:03

标签: c memory memory-management

假设我有一个复杂的应用程序可以执行各种操作,例如:调出窗口,加载一些资源,处理虚拟世界,进入OpenGL等等。

我可以暂停它,即保存当前的内存状态,然后以安全的方式随意恢复吗?

如果要安全,则必须限制用户使用某些功能,直到它恢复正常为止。

3 个答案:

答案 0 :(得分:0)

请参阅How to "hibernate" a process in Linux by storing its memory to disk and restoring it later?了解您的问题的Linux特定版本(以及答案!)

答案 1 :(得分:0)

这实际上取决于冬眠是什么。如果这应该是重新启动计算机的功能,并且程序足够复杂,则将虚拟机视为程序的容器。然后使用客户机操作系统的休眠功能。

如果这不是你想要的,你不关心在靴子之间保存状态,那就停止你的程序吧。在linux中,您可以撤出程序需要交换的所有内存。 (我想这也应该可以用于其他操作系统')

答案 2 :(得分:0)

如果您可以保存/恢复游戏,为什么不能使用商业应用?你只需要创建一个进程来将应用程序状态写入光盘......然后从光盘加载该状态 - 确保之前和之后没有任何不同。

这有多复杂,实际上取决于很多事情 - 远程连接,数据库状态,多用户环境等......