web-dev-qa-db-ja.com

PIDはnetstatに存在しますが、タスクマネージャーには存在しません

ポート9001と9002でリッスンしているPID 26376で実行中のプロセスを発見しました。そのポートにバインドするプログラムを(サービスとして)実行しようとすると失敗します。

しかし、taskkill/PIDを使用して強制終了しようとすると、プロセス26376が見つからないと表示されます。同様に、[すべてのユーザーからのプロセスを表示]を選択してタスクマネージャーでプロセスを見つけようとしても、どこにも見つかりませんでした。

誰でもこれを説明できますか?それは死んだゾンビプロセスですか?そのポートでリッスンしているプロセスは、実行中のプログラムの以前のインスタンスであると思われますが、これは何が原因でしたか?

編集:Sysinternals TCPViewは、プロセスが存在しないとして表示します。 Sysinternals Process Explorerはプロセスを表示しません。タスクリストにはプロセスが表示されません。

46
shawn

これを追跡するためにタスクマネージャーは必要ありません。ただ走れ netstat -bこれは、PIDに関連付けられたexeを表示します。

5
Parth Mody

さて、私の場合、最初のプロセスがポートを解放したのと同じユーザーが所有するすべてのconhost.exeインスタンスを強制終了します。

4
mfck

別のオプションは、接続に関連付けられたNICをバウンスすることです。RDPでこれを行う場合は注意してください。NICオンラインに戻るか、ロックアウトしてコンソールアクセスが必要になります。

このリンクでは、CMDとPowerShellを使用してそれを行う方法について説明しています。

https://www.windowscentral.com/how-enable-or-disable-wi-fi-and-ethernet-network-adapters-windows-1

0
Blaise Brignac

(@mfckの回答から改善)

  1. cmd.exeという名前のすべてのプロセスを強制終了します
  2. conhost.exeという名前のすべてのプロセスを強制終了します
0
fzyzcjy