各プロセスが異なるポートを選択してソケットを作成し、別のマシンと通信するように、マシン上でいくつかのプロセスを相互に調整する必要があります。各プロセスは、任意の時点で 1 つのプロセスだけが特定のポート番号を使用するように、使用可能なポートの範囲からポート番号を選択する必要があります。
この調整を行うための既存のメカニズムはありますか、それとも独自に構築する必要がありますか?
現在、ディスク上のファイルを使用して、ポート番号とそのポートを使用している PID を登録しています。PID が実行されていないエントリが見つかった場合、プロセスが正常に終了していないと見なされ、そのエントリをリープする必要があるため、そのエントリは削除されます。
ただし、まれに、ある種の競合状態があるようです。同じポートを使用する 2 つのプロセスが発生し、2 番目のプロセスはポートが予約されていることを示すファイルの内容を認識せず、2 回目に使用することになります。
これを修正するよりも、このポートの衝突を回避するための既存のメカニズムを採用したいので、そのようなユーティリティが既に存在するかどうかを尋ねています。