【发布时间】:2025-11-24 01:25:02
【问题描述】:
我有一个 python 程序,它启动另一个可执行文件作为子进程。反过来,子进程启动一个 XML-RPC 服务器,父进程作为客户端连接到该服务器。
我不想修复端口号,因为有时端口可能不可用,因为同一程序的另一个实例正在同一台机器上运行。
我可以让父进程选择端口号并将该信息作为参数或通过 Unix 环境变量传递。
但在最坏的情况下,端口号可能会在父进程检查然后子进程尝试获取时变得不可用。
我们可以让子进程先获取端口号,然后告诉父进程。子进程打印大量数据,这些数据被重定向到一个文件。有没有比解析标准输出更好的方法?类似于 Unix Env 变量,但会修改调用者的环境。
另一种方法是让父进程拥有一个 xml-rpc 服务器并将地址传递给子进程。子进程会进行调用并告知其服务器地址。
有没有更好的办法?
【问题讨论】: