私は、Windows 10マシンでのノード開発にWSLを使用しています(build 1803)。必然的に、WSLを開始してから数時間以内に、システム上のすべてのポートがバインドされるようになります。この時点では、新しいネットワーク接続は開かれず、再起動するまでネットワークアクセスが事実上失われます。
netstat -qn |findstr BOUND
次のように、最大値にバインドされたすべてのTCPポートが表示されます。
TCP 0.0.0.0:60755 0.0.0.0:0 BOUND
ipconfigを使ってwindows側のアダプタをリセットしたり、すべてのWSLプロセスを殺したり、その他たくさんのことを試みたりしましたが、ポートのバインドを解除するものは何もありません。数時間ごとに再起動しなくてもコンピュータを使用できるようにしたいです。
私は限られた情報で未解決の問題を見つけることができました: https://github.com/Microsoft/WSL/issues/2523 しかし解決策や回避策はありません。
WSLをリセットしたり、ポートを開いたりするための方法は大歓迎です。
それは私が持っているExpoプロジェクトのためのcliの一部であるadbのようです。リモートデバッグ用なので、接続を開くことを期待しています。しかし、それを殺しても、あるいはWSL全体としても、ポートを解放するわけではありません。
—
adeebm
プロセスを強制終了してもクリーンアップされないのは驚くべきことです。次のPowerShellコマンドを実行して結果をリンクできますか。
—
HelpingHand
get-nettcpconnection -state BOUND -OwningProcess ((Get-Process adb).ID)[0] | select LocalAddress, LocalPort, state
注:私はプロセスを adb
あれは正しいですか?
プロセスをランダムに終了させることで、 'Local \ Packages \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState \ rootfs'の 'init'が実際にはWSLを終了させてポートを解放しているようです。私を正しい方向に向けてくれてありがとう!
—
adeebm
netstat -qno | find "BOUND"
、PID(最後の列)は何ですか?また、これはTaskManager / Tasklist.exeで何にマップされていますか?