我需要将来自多个进程的大量(日志)数据量发送到一个主进程。它们都在系统上独立运行。
最好的方法是什么?进程间通信是一种很好的方法,还是应该使用共享内存?也许我还有一种不同的方式。
在Linux上使用的语言是C语言,因为我必须在现有程序中实现它。
你将如何实现它?
答案 0 :(得分:0)
除了使用管道/命名管道See this SO question的进程间通信 和共享内存See this SO question 和So question用于最快和最大规模的数据讨论。(它指导使用共享内存(快速和大型)和管道(简单)。
您可以尝试使用套接字。 master在端口上侦听,所有从端都连接到该端口,master接受连接。但这可能导致打包和资源开销。
答案 1 :(得分:0)
如果它是单向的,那么我会建议你去管道;简单直接。
如果它是双向的,那么我建议你去进行套接字编程而不是去进行其他进程间通信;原因是“你最终编写了锁定机制”;使用套接字,您无需处理这些内容,在编码方面,您的生活将更加轻松。