Windowsタスクマネージャには、Command Lineというラベルの付いた列があり、すべてのスイッチとパラメータを使用して、特定のタスクを開始したコマンドを示します。次に例を示します。
test.exe -V -A 127.0.0.1 -P 6062
次に、特定のポートでリッスンしているタスク、および/または特定のスイッチの組み合わせで呼び出されたタスクを特定する必要があります。私の目的は、選択したタスクを閉じることですが、他のタスクを閉じることはしないので、複数のtest.exe
タスクが実行中です。次から返されるすべてのタスクを単純に閉じることはできません。
tasklist /fo csv /nh /fi "imagename eq test.exe"
残念ながら、tasklist
もpslist
( ここ )もコマンドラインを返すことができないようですフィールド。この問題を解決するにはどうすればよいですか?
これはどう:
_wmic process where caption="test.exe" get commandline
_
そして、これを実行すると、ProcessIdも強制終了されます。
_wmic process where caption="test.exe" get commandline,processid
_
wmic
には、csvへの出力へのスイッチもあります。そう:
_wmic /output:c:\temp\proc.csv process where caption="test.exe" get commandline,processid /format:csv
_
注:最後のエラー(Invalid XSL format (or) file name
)でエラーが発生した場合は、_csv.xml
_を_%WINDIR%\System32\wbem\en-US
_から_%WINDIR%\System32\wbem
_にコピーする必要があります。あなたはこのバグについて読むことができます ここ 。
PowerShellを使用することもできます。
_Get-WmiObject win32_process -Filter "name like '%test.exe'"|select CreationDate,ProcessId,CommandLine|ft -AutoSize`
_