タスクを強制的に終了させる(TASKKILLコマンドの使い方) | ミニミニ管理者(システム管理者/社内SE/CIO)の独り言

[ ミニミニ管理者の独り言コマンドプロンプト(DOS/バッチ) > タスクを強制的に終了させる(TASKKILLコマンドの使い方) ]
スポンサードリンク

タスクを強制的に終了させる(TASKKILLコマンドの使い方)

JUGEMテーマ:コンピュータ

今回はWindowsのタスク(サービス/アプリケーション)をDOSコマンド のバッチ処理で強制的に終了させるウィンドウズXP(Pro)からのMS-DOSコマンドである「taskkill」コマンドの使用方法の紹介です。
この方法を知っておくと下記の手順にて自動的にサーバを再起動することが可能になりますので、サーバのメンテナンスを自動化することも可能です。

《参考》
taskkill」コマンドはWindowsXP Professional付属のコマンドで、Home Editionにはありません
WindowsXP Home Editionで「taskkill」コマンドを実行する際には、別途「taskkill簡易版」等のソフトウェアを利用する必要があります。
・taskkill簡易版
http://www.vector.co.jp/soft/winnt/util/se401845.html
※使用可能オプションは、/F /IM /PIDです。

実行手順例
 1)稼働中のアプリケーション(サービス/タスク)を終了(本稿紹介の「taskkill」コマンド)
 2)Windowsをシャットダウン(「shutdown」コマンド)
 3)Windows XPに自動的にログオン

といった一連の流れをDOSコマンド のバッチ処理をタスク登録して自動化可能になります。
ただ、今回の「taskkill」コマンドはあくまでも「強制終了」なので、終了手順が明確な場合はそのコマンドを用いて実行して下さい。あくまでも今回紹介するコマンドは「最終手段」として念のため実行する程度が良いかもしれません。(夜間ジョブで正常終了しなかった場合の保険として2段階で処理する。)

説明
この「TASKKILL」コマンドは「ウィンドウタイトル(ウィンドウ上部の青いバーの文字列)」「PID(プロセスID)」「イメージ名(exe)」を指定して強制終了できます。
因みに「PID(プロセスID)」の取得(確認)方法は、「タスクマネージャを起動して、プロセスタブから該当するイメージ名(exe)の行のPID欄」で確認できます。
また、「tasklist」コマンドを利用してもPID(プロセスID)は確認できます。
参考:TASKLISTの使い方(PID/メモリ使用量を調べる)

コマンドプロンプトから実行
dos>TASKKILL [/S システム [/U ユーザー名 [/P [パスワード]]]] { [/FI フィルタ] [/PID プロセスID | /IM イメージ名] } [/F]
※コマンドの引数については下記の表を参照。

使用例(サンプル)
1)PIDが「1230」「1241」「1253」とプロセスが開始したすべてのプロセスを終了。
    dos>TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
2)イメージ名が「notepad.exe」「mspaint.exe」のプロセスを終了。
    dos>TASKKILL /F /IM notepad.exe /IM mspaint.exe
3)「WINDOWTITLE」が「untitle」で始まらないものを強制終了。
    dos>TASKKILL /F /FI "WINDOWTITLE ne untitle*"
4)起動しているアプリケーションの中で応答がないものを強制終了させます。
   dos>taskkill.exe /f /fi "status eq not responding"
※「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません」とエラーになり、実行できない場合は「システム環境変数でpathが設定されていない」もしくは「WindowsのエディションがHome Edition」です。

■パラメータ一覧

パラメータ 説明
/S システム 接続するリモート システムを指定します。
/U [ドメイン¥]ユーザー コマンドが実行されるユーザー コンテキストを指定します。
/P [パスワード] 提供されるユーザー コンテキストのパスワードを指定します。省略された場合は、入力を要求します。
/F プロセスの強制終了を指定します。(タスクマネージャからの「プロセスの終了」に相当)
/FI フィルタ フィルタによって指定された、与えられた条件に一致するタスクを表示します。
/PID プロセスID 終了させるプロセスの PID を指定します。
/IM イメージ名 終了させるプロセスのイメージ名を指定します。ワイルドカード '*' を使用してすべてのイメージ名を指定できます。
※ワイルドカード '*' は、フィルタを使うときのみ有効になります。
/T ツリー削除: 指定したプロセスとそのプロセスが開始したすべてのプロセスを削除します。
/? このヘルプまたは使用法を表示します。

■フィルタ
フィルタ名 有効な演算子 有効な値
HOSTNAME eq, ne コンピュータ名
STATUS eq, ne RUNNING(実行中)
NOT RESPONDING(応答なし)
IMAGENAME eq, ne イメージ名
PID eq, ne, gt, lt, ge, le PID(プロセスID) 値
SESSION eq, ne, gt, lt, ge, le セッション番号
CPUTIME eq, ne, gt, lt, ge, le 次の形式の CPU 時間
hh:mm:ss
hh - 時間
mm - 分、ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le メモリ使用量 (KB)
USERNAME eq, ne [ドメイン¥]ユーザー の形式のユーザー名
MODULES eq, ne DLL 名
SERVICES eq, ne サービス名
WINDOWTITLE eq, ne ウィンドウのタイトル
※リモート プロセスの終了は、/F オプションの指定したかどうかにかかわりなく強制的に実行されます。

■演算子の意味

  • eq : 一致(値と一致する)
  • ne : 不一致(値と一致しない)
  • gt : より大きい(指定した値を含まない)
  • lt : より小さい (指定した値を含まない)
  • ge : 以上 (指定した値を含む)
  • le : 以下 (指定した値を含む)

    システム管理者必見!DOSの活用事例

    ポイントサイトで効率的に稼ぐ方法を紹介!
  • ◆Windows XPの自動再起動 バックナンバー◆
    1)Windows XPでの自動シャットダウンコマンド(バッチ処理)
    2)Windows XP へ自動ログオンする
    3)タスクを強制的に終了させる
    4)Windows XPの自動再起動バッチ処理(実践編)



                   最新記事へ     トップページ



    スポンサードリンク


    ■Blog Ranking■
    1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
    2. (ブログランキング ドット ネット)
    3.にほんブログ村 IT技術ブログへにほんブログ村
    4.BS blog Ranking
    ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
    サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
    ソニーストア
    ボーズ・インイヤーヘッドホン

    コメント
    コメント投稿フォーム:
     上の情報を次回も利用する

    トラックバック
    トラックバックURL:
    ※ クリックで選択できます。
    トラックバック一覧: