Windows 終了時にプログラムが終了するまでの待ち時間を短くする
基本情報
- 設定項目名
- Windows 終了時にプログラムが終了するまでの待ち時間を短くする
- カテゴリ
- 起動・終了
- 対応プラットフォーム
- Windows 2000, XP, Vista, Server 2003 (R2), Server 2008
- 搭載バージョン
- Win高速化 version 1.1
- 設定不可となる条件
- Windows Vista (Server 2008) で Windows 終了時に [プログラムの終了] ダイアログではなくシャットダウン (またはログオフや再起動) のブロック画面が表示される場合
※ このページは Windows 高速化ツール Win高速化 に搭載されている設定項目の解説文になります。この設定項目を利用するには Win高速化 のインストールが必要となります。
概要
Windows 終了 (シャットダウンやログオフ) 時に応答のないプログラムが終了するまでの待ち時間を 20 秒から 5 秒に変更します。Windows を終了するたびに応答のないプログラムがあるような環境では Windows の終了にかかる時間の短縮につながります。
詳細
Windows はシャットダウン時やログオフ時に実行中のプログラムに対して Windows の終了を通知します。通知を受け取ったプログラムは終了処理を開始し、自身のプログラムの終了を Windows に通知します。
Windows の終了を通知してからプログラムの終了が通知されるまで Windows はデフォルトで 5 秒間待機します。ですが待ち時間が経過してもプログラムからの応答がない場合、プログラムの終了を待つためにさらにデフォルトで 20 秒間待機します。このとき Windows は進捗状況を表すために次のような [プログラムの終了] ダイアログを表示します。
応答のないプログラムが終了するまでの待ち時間が経過すると [プログラムの終了] ダイアログの内容が次のように切り替わります。ユーザーはプログラムをすぐに終了するか Windows の終了をキャンセルするかを選択します。なお [プログラムの終了] ダイアログが表示されている間は Windows の終了がブロックされます。
この設定を有効にすると、Windows 終了時に応答のないプログラムが終了するまでの待ち時間がデフォルトの 20 秒から 5 秒に短縮されます。Windows を終了するたびに応答のないプログラムがあるような環境では Windows の終了にかかる時間の短縮につながります。
※ 応答のないプログラムが追加で 20 秒間待つことで終了するようなことは一般的にはあまりありませんが、待ち時間の途中でプログラムが終了した場合はすべての待ち時間を経過することなく Windows の終了処理が再開されます。
※ Vista 以降の Windows (Vista, 7 など) ではデフォルトで [プログラムの終了] ダイアログが表示されないため、応答のないプログラムが終了するまでの追加の待ち時間は発生しません。詳細は [プログラムの終了] ダイアログ (Vista 以降の Windows) を参照してください。
※ Windows 終了時に応答のないプログラムが自動的に終了する設定の場合は [プログラムの終了] ダイアログが表示されません。そのため応答のないプログラムが終了するまでの追加の待ち時間が発生することなく、自動的にプログラムが強制終了され、自動的に Windows が終了します。
※ 注:プログラムによっては終了のために長めの待ち時間を必要とする場合があります。プログラムの終了時や起動時にエラーが発生するような場合は、この設定を無効にしてください。
[プログラムの終了] ダイアログ (Vista 以降の Windows)
Vista 以降の Windows (Vista, 7 など) では Windows 終了時にプログラムからの応答がない場合、[プログラムの終了] ダイアログではなく次のようなシャットダウン (またはログオフや再起動) のブロック画面を表示します。そのため応答のないプログラムが終了するまでの追加の待ち時間は発生しません。
レジストリ値の AllowBlockingAppsAtShutdown を設定すると Windows 終了時にブロック画面ではなく [プログラムの終了] ダイアログが表示されるようになります。
※ 応答のないプログラムが終了するまでの追加の待ち時間はデフォルトで 5 秒間です。Windows Vista (Server 2008) ではレジストリ値の WaitToKillAppTimeout で待ち時間を指定できますが、Windows 7 (Server 2008 R2) では固定されているため変更できません。