Windows TIPS
[Tools & Services]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

実行中のアプリケーションを強制的に終了させてシステムをシャットダウンする

解説をスキップして操作方法を読む

デジタルアドバンテージ 島田 広道
2008/08/01
対象OS
Windows 2000
Windows XP
Windows Server 2003
shutdown.exeコマンドでシャットダウンや再起動させようとしても、アプリケーションが実行中だとシャットダウンできないことがある。
アプリケーションを強制終了させるオプションを利用すると、こうしたトラブルを回避できる。

解説

システムをリモートからシャットダウンする

 手動以外の方法でWindowsをシャットダウンするには、関連記事にあるようにshutdown.exeというコマンドが利用できる。これはコマンドラインで利用できるため、例えばバッチ・ファイルと組み合わせて一連の処理後にシャットダウンを自動実行したり、タスク・スケジューラと組み合わせて特定時刻に再起動したりできる。

 しかしこうしたshutdown.exeによるシャットダウンの自動実行は、そのときに実行中のアプリケーションの状態次第では、失敗してしまうことがある。shutdown.exeはデフォルトでは、実行中のアプリケーションを強制的には終了しないためだ。例えばファイル未保存のアプリケーションが実行中だと、shutdown.exeを実行しても、アプリケーションはファイル保存のダイアログ・ボックスを表示したままになる。ユーザーがダイアログ・ボックスを閉じるまで、システムはシャットダウンされない。

shutdown.exeによるシャットダウンが中断している例
これはWindows XP Professionalでshutdown.exeを実行してシャットダウンしようとしたところ。メモ帳が編集中のテキスト・ファイルの保存を確認するダイアログ・ボックスを表示したまま終了しないため、シャットダウンも進行せずに中断してしまっている。ダイアログ・ボックスを操作してメモ帳を終了させるか、強制終了させるまで、この状態が続くことになる。

 厄介なのはパスワード・ロック付きのスクリーン・セーバによってコンソールがロックされている場合も、上記と同様になることがあるという点だ(以下のサポート技術情報を参照)。すなわち、スクリーン・セーバによってパスワード・ロックがかかっている状態では、ほかの全アプリケーションが終了可能でも、シャットダウンは進行せずに中断する場合がある。特にWindows Server 2003はデフォルトでスクリーン・セーバのパスワード・ロック機能が有効なため、このトラブルに遭遇する可能性が高い。

 こうしたシャットダウンの失敗を防ぐには、アプリケーションを強制終了するオプションを指定してshutdown.exeを実行するとよい。シャットダウン時に未保存のデータは失われてしまうという問題はあるが、確実にシステムをシャットダウンさせたい場合には有用なオプションといえる。

操作方法

 shutdown.exeのアプリケーション強制終了オプションはWindows OSの種類によって異なるので、それぞれ分類して説明する。shutdown.exe自体の使い方については、TIPS「システムをリモートからシャットダウンする」を参照していただきたい。

Windows XP/Windows Server 2003/Windows Vistaの場合

 これらのWindows OSでは、shutdown.exeコマンドが標準で用意されている。

 アプリケーション強制終了のオプションは-f(force)である。シャットダウン時には以下のようにオプションを指定すればよい。

shutdown.exe -s -f

 再起動の場合は次のように-r(restart)オプションを追加する。

shutdown.exe -r -f

Windows 2000の場合

 Windows 2000用のshutdown.exeは標準コマンドではなく、Resource Kitに含まれる(shutdown.exeコマンドが含まれるWindows 2000向けのResource Kit Tooleは、市販の書籍でのみ提供されている。TIPS「Windows OS向けリソースキット・ツールを入手する」参照。いくつかのコマンドはマイクロソフトのダウンロード・サイトで更新版が提供されているが、shutdown.exeはWeb上には用意されていない)。

 アプリケーションの強制終了オプションは/C(close)である。シャットダウン時には以下のようにオプションを指定すればよい。

shutdown.exe /c

 再起動の場合は次のようにする。

shutdown.exe /c /r

未保存のデータは失われてしまう

 shutdown.exe実行時にアプリケーション強制終了のオプションを指定すると、そのときに実行中のアプリケーションの状態に関係なくシャットダウンが進行する。従ってファイルを保存していないアプリケーションが残っていた場合、その未保存の分は失われてしまう(アプリケーションに自動的に保存させることはできない)。特にリモート・コンピュータが対象の場合は、少なくとも事前にエンドユーザーへシャットダウン実施時刻を伝え、あらかじめファイルを保存しておくように指示すべきだろう。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間