私はサブプロセスを生成するプロジェクトを持っています。サブプロセスは再びバインドするポート番号を取ります。ポート番号は、私のPythonスクリプトによって割り当てられます。ここでは、49152と65535の間のランダムポートを取るだけです。ローカルポートがPythonで利用可能かどうか確認してください
ポートが使用可能で、ローカルシステム上の他のツール(* nix) 。
another questionから私はこのスニペットを持っている:
import socket;
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = sock.connect_ex(('127.0.0.1',80))
if result == 0:
print "Port is open"
else:
print "Port is not open"
は、私は私の場合にはこれを使用できますか?これはポートを開けず、それ以上の使用のためにそれを閉じないでしょうか?
[ローカルホストでは、空きポート番号を選ぶにはどうすればよいですか?](http://stackoverflow.com/questions/1365265/on- localhost-how-to-pick-a-free-port-number) – TessellatingHeckler
@TessellatingHecklerこれは実際に非常に似ていますが、ランダムポートが利用可能かどうかを確認したいだけです。 Pythonスクリプトは、実際にはそれを実際に使用するべきではありません。 – SaAtomic
この方法は、チェックと実際の使用の間に競合条件があるため、本来、障害が発生しています。 –