web-dev-qa-db-ja.com

プログラムを「休止状態」にすることはできますか?

はい、私は休止状態が通常コンピュータに適用されることを知っています。 (プログラムメモリをディスクに保存し、一貫した方法で復元できるという彼女の意味を休止状態にします。)

ただし、プログラムの休止状態は非常に便利です。ゲームをしたいのですが、FirefoxやAcrobatなどのいくつかのプログラムは500Mのメモリを消費するので、それを解放したいとします。特にセッションデータを保存できない場合は、閉じてから開始するのに時間がかかることがあります。代わりに、私は行ってそれらを休止状態にします。では、プログラムを休止状態にする方法はありますか?

17
apoorv020

StackOverflowでこれについて 関連する質問 があります。それはプログラミングに関連していますが、メイン 受け入れられた答え は、あなたがやろうとしていることが難しい理由を説明し、実行可能な代替手段を提供します。

基本的に、VMで「ビジネス」アプリを実行し、ゲームをしたいときに一時停止/休止状態/閉じる。

8

これは実際の休止状態ではありませんが、プロセスを一時停止することができます。 CPUサイクルの使用はすぐに停止しますが、引き続きメモリを使用します。幸い、後でメモリを大量に消費するアプリケーションを起動すると、このメモリはページファイルにスワップされるため、実際の問題ではありません。中断されたプロセスはreboot\logoffに耐えることができませんが、ゲームをプレイするにはこれで十分です。

関連する質問: プロセスを簡単に一時停止/再開しますか?

内部的には、 プロセスの一時停止はさまざまなアプローチで実行できます

  • SuspendThread および ResumeThread 関数ペア。

  • Windows XP Sp0で導入され、それ以降、すべてのシステムバージョンで機能するNtSuspendProcess関数(公式には文書化されていません)。

  • DebugActiveProcess および DebugActiveProcessStop 関数を使用して、Microsoftが提供するデバッグインターフェイス。デバッガーがそれ自体をリモートプロセスに接続すると、デバッガーが実行を許可するサインを与えるまで、すべてのターゲットのスレッドが即座に中断されます。

プロセスを一時停止できるツールは多数あります。

また、リソースモニター(Task Manager → Performance → Open Resource Monitor)Windows Vista以降では、プロセスを一時停止/再開できます。

Resource Monitor

4
beatcracker

アプリの「休止状態」は、セッションデータに関するポイントは有効ですが、アプリを閉じて再起動するよりも速くはありません。一般に、利点があるとしてもそれほど多くはありません。

0
CarlF