0

我正在使用Popenfromsubprocess在网络命名空间中生成一个新进程。我需要在父进程和新生成的子进程之间交换数据。

目前,我通过简单地解析 from 来做到这一点stdout,这意味着在我的子进程中,我只需打印我需要传输到父进程的所有内容,然后从父进程解析它。虽然这种方法有效,但它看起来非常h​​acky,而且不支持双向数据交换(子 -> 父和父 -> 子)。

我认为创建一个套接字来在两个进程之间进行通信在我的情况下不起作用,因为父进程位于不同的网络命名空间中。

如何在两个独立的网络命名空间之间实现 IPC?

4

1 回答 1

1

除非您的命名空间之间存在路由,否则 AF_INET 系列的套接字将无法连接,但您可以使用 unix 域套接字 ( socket.AF_UNIX)。他们不使用任何网络命名空间,因为套接字是文件系统上的“文件”。

于 2018-02-02T15:08:37.127 回答