2009-04-24 6 views
10

Windows上の単一プロセスの状態をファイルに保存してから、実行中のプロセスを実行中の状態に戻して、すべてのメモリがすでにロードされている状態に戻す方法がありますか時間?Windowsで単一プロセスを冬眠させる

開いているハンドルを再オープンする必要があり、スレッドを起動する必要がありますが、ヒープと単一のスレッドスタックを少なくとも復元することはできますか?

私はthis questionを見ましたが、回答はすべてLinux用であり、ほとんどの人が実行できないと言います。

私はすべてのデータ構造をシリアライザブルにすることができ、自分自身で行うことができますが、それが可能であるかどうかを知りたいと思います。

答えて

6

Raymond Chen(Windowsの知識があいまいである場合、Jon Skeetの尻を蹴る人もいます)とit isn't possibleと言います。

基本的に、プロセスが絶対にシステムリソース(例えば、あらゆる種類のハンドル)を使用しない限り、保存および復元できないOS状態が常に存在します。

  • あなたはnLiteを使用して可能な限りのゲストOSは、として軽量化することができます

    この問題を解決するための最も実用的な方法は、Windowsの別のインスタンスを実行しているVMを作成し、その中にあなたのプロセスを実行することです。

  • VMWare VIX APIを使用して、VMをプログラムでサスペンド/レジュームすることができます。
  • これはもちろん、ゲストOSとそのプロセスを中断し、OSの状態の問題を解決します。
+1

感謝。とても興味深い。私はVMのアプローチを考えます。ゲストOSのパッチで再起動が必要な場合、私はまだ運が悪いです。 –

+1

あなたが考えているゲストOSのセキュリティなら、私はホストオンリーまたはNATエドネットワーキングを有効にしたいと思うでしょう。そのため、ゲストはインターウェブからアドレス可能ではありません。そして、パッチを当てないという危険を冒す... – snowcrash09

1

>>あなたはnLiteを使って、可能な限りのゲストOSは、のような軽量にすることができ•。

上記のステートメントに追加する - Windows XPの公式軽量バージョンは、 "XP Embedded"または "Windows Embedded Standard"です。これはXPの大幅にコンポーネント化されたバージョンで、XPイメージを40MBまで細くすることができます。

のWindows 7の「軽量」バージョンは、Windowsはもちろん、現在ベータ版で、ダウンロードのために利用可能である標準2011、(connect.microsoft.com/windowsembedded)

を埋め込まれ、それはとは違ってフリーウェアではありませんNLite。

おかげで、

スリカンスリンクについて

関連する問題