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

时间:2015-06-13 18:18:19

标签: c ipc shared-memory

我需要将来自多个进程的大量(日志)数据量发送到一个主进程。它们都在系统上独立运行。

最好的方法是什么?进程间通信是一种很好的方法,还是应该使用共享内存?也许我还有一种不同的方式。

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

你将如何实现它?

2 个答案:

答案 0 :(得分:0)

除了使用管道/命名管道See this SO question的进程间通信 和共享内存See this SO questionSo question用于最快和最大规模的数据讨论。(它指导使用共享内存(快速和大型)和管道(简单)。

您可以尝试使用套接字。 master在端口上侦听,所有从端都连接到该端口,master接受连接。但这可能导致打包和资源开销。

答案 1 :(得分:0)

如果它是单向的,那么我会建议你去管道;简单直接。

如果它是双向的,那么我建议你去进行套接字编程而不是去进行其他进程间通信;原因是“你最终编写了锁定机制”;使用套接字,您无需处理这些内容,在编码方面,您的生活将更加轻松。