プロセスを終了し、ポートバインディングが消去されたことをどのように確認できますか?

プロセスを終了し、ポートバインディングが消去されたことをどのように確認できますか?

プロセスを終了して再起動すると、エラーが発生する状況が発生しましたAddress already in use

sudo netstat -lntpプロセスIDを取得するために実行中で、次の結果が返されます。

tcp        0      0 0.0.0.0:8002            0.0.0.0:*               LISTEN       475/valhalla_servic

だから私は走る sudo kill -9 475

このコマンドを実行した後、プロセスはnetstat表示されなくなりますが、再起動しようとすると、「すでに使用されているアドレス」エラーが表示されます。私が何を間違っているのかわかりません。

ベストアンサー1

何が間違っているのか分からないのですか?

良いニュース:何もありません。

TCPステートマシンにはタイムアウト条件があります。したがって、デフォルトではポートはしばらく保持されます。

一部のソフトウェアのユーザーとしてできることはあまりありません。任意のソフトウェアがすぐにポートを再バインドするのを防ぐのは最終的にセキュリティ機能です。

ソフトウェア開発者として、あなたはできますSO_LINGER0に設定。ほとんどの場合、これは正しい方法ではありません。特に、所有プロセスを実際に終了する場合にはさらにそうです。

おすすめ記事