2009-04-24 24 views
10

是否有任何库或软件或保存单个进程的状态在Windows中的文件,然后运行过程中恢复到运行状态与已加载在以后的所有记忆中的任何方式时间?冬眠一个进程在Windows

我知道打开的句柄将不得不重新打开,线程可能要开始等,但可以堆和单个线程堆栈至少可以恢复?

我看到this question,但答案是全部用于Linux和大多说不能做。

我知道我可以让我的数据结构的序列化,并做我自己,但我想知道是否有可能没有这种。

回答

6

Raymond Chen(当涉及到模糊的Windows知识时,他甚至可能踢Jon Skeet的屁股)说it isn't possible

从本质上讲,除非你的过程绝对不会占用任何系统资源(例如任何类型的手柄),总有将是你不能保存和恢复一些OS状态。

解决这一问题的最实际的方法是创建运行Windows的另一个实例的虚拟机并运行里面,你的流程:

  • 您可以通过使用nLite使客户操作系统的轻量化成为可能。
  • 然后,您可以使用VMWare VIX API暂停/恢复程序的VM。
  • 这当然会暂停客户操作系统和您的进程,解决操作系统状态问题。
+1

感谢您的链接。很有意思。我会考虑虚拟机的方法。如果guest虚拟机操作系统修补程序需要重新启动,我仍然不幸运。 – 2009-04-25 00:46:10

1

>>您可以使用nLite使guest OS尽可能轻量级。

添加到上述声明 - Windows XP官方轻量级版本是“XP Embedded”或“Windows Embedded Standard”。它是XP的一个高度组件化的版本,可以让您轻松缩小40 MB的XP映像。

Windows 7中的“轻”版本的Windows嵌入式标准2011,这也是目前处于测试阶段,可供下载(connect.microsoft.com/windowsembedded)

当然,这不是一个免费的不同nLite的。

感谢,

SRIKANTH