バッチスクリプト-プロセス
この章では、バッチスクリプトに関連するさまざまなプロセスについて説明します。
実行中のプロセスのリストの表示
バッチスクリプトでは、TASKLISTコマンドを使用して、システム内で現在実行中のプロセスのリストを取得できます。
構文
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter]
[/FO format] [/NH]
S.No. | オプションと説明 |
---|---|
1.1。 |
/S system 接続するリモートシステムを指定します |
2.2。 |
/U [domain\]user コマンドを実行するユーザーコンテキストを指定します。 |
3.3。 |
/P [password] 指定されたユーザーコンテキストのパスワードを指定します。省略した場合は入力を求めます。 |
4.4。 |
/M [module] 指定されたexe / dll名を現在使用しているすべてのタスクを一覧表示します。モジュール名が指定されていない場合、ロードされているすべてのモジュールが表示されます。 |
5.5。 |
/SVC 各プロセスでホストされているサービスを表示します。 |
6.6。 |
/V 詳細なタスク情報を表示します。 |
7。 |
/FI filter フィルタで指定された特定の基準に一致する一連のタスクを表示します。 |
8.8。 |
/FO format 出力形式を指定します。有効な値:「TABLE」、「LIST」、「CSV」。 |
9.9。 |
/NH 「列ヘッダー」が出力に表示されないように指定します。「TABLE」および「CSV」形式でのみ有効です。 |
例
TASKLIST
上記のコマンドは、ローカルシステムで実行されているすべてのプロセスのリストを取得します。以下は、上記のコマンドをそのまま実行したときに表示される出力のスナップショットです。次の出力からわかるように、システムでさまざまなプロセスを実行するだけでなく、各プロセスのメモリ使用量も取得します。
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 4 K
System 4 Services 0 272 K
smss.exe 344 Services 0 1,040 K
csrss.exe 528 Services 0 3,892 K
csrss.exe 612 Console 1 41,788 K
wininit.exe 620 Services 0 3,528 K
winlogon.exe 648 Console 1 5,884 K
services.exe 712 Services 0 6,224 K
lsass.exe 720 Services 0 9,712 K
svchost.exe 788 Services 0 10,048 K
svchost.exe 832 Services 0 7,696 K
dwm.exe 916 Console 1 117,440 K
nvvsvc.exe 932 Services 0 6,692 K
nvxdsync.exe 968 Console 1 16,328 K
nvvsvc.exe 976 Console 1 12,756 K
svchost.exe 1012 Services 0 21,648 K
svchost.exe 236 Services 0 33,864 K
svchost.exe 480 Services 0 11,152 K
svchost.exe 1028 Services 0 11,104 K
svchost.exe 1048 Services 0 16,108 K
wlanext.exe 1220 Services 0 12,560 K
conhost.exe 1228 Services 0 2,588 K
svchost.exe 1276 Services 0 13,888 K
svchost.exe 1420 Services 0 13,488 K
spoolsv.exe 1556 Services 0 9,340 K
tasklist > process.txt
上記のコマンドは、tasklistによって表示された出力を取得し、それをprocess.txtファイルに保存します。
tasklist /fi "memusage gt 40000"
上記のコマンドは、メモリが40MBを超えるプロセスのみをフェッチします。以下は、レンダリングできる出力例です。
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
dwm.exe 916 Console 1 127,912 K
explorer.exe 2904 Console 1 125,868 K
ServerManager.exe 1836 Console 1 59,796 K
WINWORD.EXE 2456 Console 1 144,504 K
chrome.exe 4892 Console 1 123,232 K
chrome.exe 4976 Console 1 69,412 K
chrome.exe 1724 Console 1 76,416 K
chrome.exe 3992 Console 1 56,156 K
chrome.exe 1168 Console 1 233,628 K
chrome.exe 816 Console 1 66,808 K
特定のプロセスを殺す
Microsoft Windows XP Professional、Windows 2003以降を実行しているユーザーが、プロセスID(PID)またはイメージ名によってWindowsコマンドラインからタスクを強制終了できるようにします。この目的で使用されるコマンドはTASKILLコマンドです。
構文
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter]
[/PID processid | /IM imagename] } [/T] [/F]
S.No. | オプションと説明 |
---|---|
1.1。 |
/S system 接続するリモートシステムを指定します |
2.2。 |
/U [domain\]user コマンドを実行するユーザーコンテキストを指定します。 |
3.3。 |
/P [password] 指定されたユーザーコンテキストのパスワードを指定します。省略した場合は入力を求めます。 |
4.4。 |
/FI FilterName フィルタを適用して、一連のタスクを選択します。「*」の使用を許可します。例 imagename eq acme *追加情報と例については、以下のフィルターを参照してください。 |
5.5。 |
/PID processID 終了するプロセスのPIDを指定します。TaskListを使用してPIDを取得します。 |
6.6。 |
/IM ImageName 終了するプロセスのイメージ名を指定します。ワイルドカード「*」を使用して、すべてのタスクまたはイメージ名を指定できます。 |
7。 |
/T 指定されたプロセスと、それによって開始された子プロセスを終了します。 |
8.8。 |
/F プロセスを強制的に終了することを指定します。 |
例
taskkill /f /im notepad.exe
上記のコマンドは、開いている場合、メモ帳を開くタスクを強制終了します。
taskill /pid 9214
上記のコマンドは、9214のプロセスを持つプロセスを強制終了します。
新しいプロセスの開始
DOSスクリプトには、新しいプロセスを完全に開始するための可用性もあります。これは、STARTコマンドを使用して実行されます。
構文
START "title" [/D path] [options] "command" [parameters]
ここで
title − CMDウィンドウのタイトルバーのテキスト(必須)
path −開始ディレクトリ。
command −実行するコマンド、バッチファイル、または実行可能プログラム。
parameters −コマンドに渡されるパラメーター。
S.No. | オプションと説明 |
---|---|
1.1。 |
/MIN 最小化された開始ウィンドウ |
2.2。 |
/MAX 開始ウィンドウが最大化されました。 |
3.3。 |
/LOW IDLE優先度クラスを使用します。 |
4.4。 |
/NORMAL NORMAL優先度クラスを使用します。 |
5.5。 |
/ABOVENORMAL ABOVENORMAL優先度クラスを使用します。 |
6.6。 |
/BELOWNORMAL BELOWNORMAL優先度クラスを使用します。 |
7。 |
/HIGH HIGH優先度クラスを使用します。 |
8.8。 |
/REALTIME REALTIME優先度クラスを使用します。 |
例
START "Test Batch Script" /Min test.bat
上記のコマンドは、新しいウィンドウでバッチスクリプトtest.batを実行します。ウィンドウは最小化モードで起動し、「テストバッチスクリプト」というタイトルも付けられます。
START "" "C:\Program Files\Microsoft Office\Winword.exe" "D:\test\TESTA.txt"
上記のコマンドは、実際には別のプロセスでMicrosoft Wordを実行してから、MSWordでファイルTESTA.txtを開きます。