ポート9001と9002でリッスンしているPID 26376で実行中のプロセスを発見しました。そのポートにバインドするプログラムを(サービスとして)実行しようとすると失敗します。
しかし、taskkill/PIDを使用して強制終了しようとすると、プロセス26376が見つからないと表示されます。同様に、[すべてのユーザーからのプロセスを表示]を選択してタスクマネージャーでプロセスを見つけようとしても、どこにも見つかりませんでした。
誰でもこれを説明できますか?それは死んだゾンビプロセスですか?そのポートでリッスンしているプロセスは、実行中のプログラムの以前のインスタンスであると思われますが、これは何が原因でしたか?
編集:Sysinternals TCPViewは、プロセスが存在しないとして表示します。 Sysinternals Process Explorerはプロセスを表示しません。タスクリストにはプロセスが表示されません。
これを追跡するためにタスクマネージャーは必要ありません。ただ走れ netstat -b
これは、PIDに関連付けられたexeを表示します。
さて、私の場合、最初のプロセスがポートを解放したのと同じユーザーが所有するすべてのconhost.exeインスタンスを強制終了します。
別のオプションは、接続に関連付けられたNICをバウンスすることです。RDPでこれを行う場合は注意してください。NICオンラインに戻るか、ロックアウトしてコンソールアクセスが必要になります。
このリンクでは、CMDとPowerShellを使用してそれを行う方法について説明しています。
https://www.windowscentral.com/how-enable-or-disable-wi-fi-and-ethernet-network-adapters-windows-1
(@mfckの回答から改善)
cmd.exe
という名前のすべてのプロセスを強制終了しますconhost.exe
という名前のすべてのプロセスを強制終了します