主进程和从进程之间的数据发送

Data sending between master process and slaves

我需要将大量(日志)数据从多个进程发送到一个主进程。都是运行独立于系统

最好的方法是什么?进程间通信是一种好方法还是我应该使用共享内存?也许还有其他我不知道的方法。

在Linux上使用的语言是C,因为我必须在现有程序中实现它。

你会如何完成它?

除了使用 pipes/named 管道进行进程间通信 See this SO question 和共享内存 See this SO questionSo question 用于最快和大型数据讨论。(它直接使用共享内存(快速和大)和管道(简单)。

您可以尝试使用套接字。 master 侦听端口并且所有 slaves 连接到该端口并且 master 接受 connection.But 这可能会导致打包和资源开销。

如果它是单向的,那么我建议你使用管道;简单明了。

如果它是双向的,那么我建议你去进行套接字编程,而不是去进行其他进程间通信;原因是"you end up writing locking mechanisms";使用套接字,您无需处理这些问题,而且在编码方面,您的生活会更加轻松。