Windowsタスクマネージャーには、コマンドラインというラベルの付いた列があり、特定のタスクを開始したコマンドを、すべてのスイッチとパラメーターとともに表示します。次に例を示します。
test.exe -V -A 127.0.0.1 -P 6062
ここで、特定のポートでリッスンしている、または特定のスイッチの組み合わせで呼び出された特定のタスクを特定する必要があります。私の目的は、選択したタスクを閉じることですが、他のタスクは閉じないことです。そのため、test.exe
実行中のタスクが複数ある場合、以下によって返されるすべてのタスクを単純に閉じることはできません。
tasklist /fo csv /nh /fi "imagename eq test.exe"
残念ながら、どちらtasklist
もpslist
(ここでは)コマンドラインフィールドを返すことができないようです。どうすればこの問題を克服できますか?
@Rik悲しいことに、ポート自体では正しいタスクを識別するのに十分ではないため、それだけでは不十分です。そのため、コマンドライン引数も確認する必要があります。
—
イシュトヴァンザカル
同じポートでリッスンしている複数のプログラムを想像することはできません... :)しかし、パラメータを取得することが可能でなければなりません...
—
リック
process explorer
SysinternalsからこれらをGUIで表示できます。そのため、情報はどこかにある必要があります。
@Rik、もちろんポートは異なりますが、タスクが強制終了する必要があるかどうかを確認するためにコマンドライン引数も抽出する必要があります。
—
イスヴァンザカル
netstat -aon | grep \.0:6062
ポート6062で何かをすることができ、最後の列はプログラムのPIDになります。それで十分かどうかわかりません。tasklist /FI "PID eq <PID>"
再び実行可能ファイルを提供します。