Ich habe ein Python-Programm, das eine andere ausführbare Datei als Unterprozess beginnt. Der Unterprozess wiederum startet einen XML-RPC-Server, mit dem der übergeordnete Prozess als Client verbunden wird.xmlrpc - dynamisch Auswahl Portnummer
Ich möchte die Portnummer nicht reparieren, da der Port manchmal nicht verfügbar ist, weil eine andere Instanz desselben Programms auf demselben Computer ausgeführt wird.
Ich kann es an den Eltern-Prozess verlassen die Portnummer zu wählen und diese Informationen als Argument oder durch Unix-Umgebungsvariable übergeben.
Aber im schlimmsten Fall gibt es eine Möglichkeit, dass die Port-Nummer aus der Zeit Eltern nicht verfügbar wurde geprüft und dann versucht, Unter proc zu erwerben.
Wir können den Unterprozess zuerst die Portnummer erhalten und sie dann dem Elternteil mitteilen. Der Unterprozess druckt eine große Menge an Daten, die in eine Datei umgeleitet werden. Gibt es einen besseren Weg, als den stdout analysieren zu müssen? etwas wie die Unix Env-Variable, aber die Umgebung des Aufrufers ändern.
Eine andere Möglichkeit besteht darin, dass der Elternteil einen xml-rpc-Server hat und die Adresse an den Unterprozess weiterleitet. Der Sub-Proc würde einen Anruf tätigen und mitteilen, was seine Serveradresse ist.
Gibt es einen besseren Weg?