繁体   English   中英

在Linux中使用文件作为IPC?

[英]Using files as IPC in Linux?

我们正在编写一个包含2个进程的程序。 一个进程从串行设备读取数据,另一个进程使用此数据并将其发送到网络。

我一直在研究,有很多方法可以传达这两个过程,似乎最好的选择是管道或消息队列。 我喜欢队列,因为与串行相比,网络过程不可靠或相对缓慢,加上队列允许共享数据类型,而不是原始字节流。

我们还需要一个日志来监视每个IPC通信,因此我们认为,为什么不使用共享文件? 因此,过程1写入文件,过程2读取文件的每一行并在处理文件时将每一行标记为已发送。我们可以为此使用文件锁定。

文件方法既可以用作缓冲也可以用作日志记录。

拥有此文件对于业务逻辑非常有价值。

所以..我们应该去寻找消息,管道或文件吗?

PS。 在这种情况下,设备在ARM设备上运行Linux 2.6.3,而硬盘只是SD卡。

在您的情况下,休眠或关闭应用程序时也可以使用mmap并将缓冲区刷新到文件系统。 与套接字或管道相比,实现可能更复杂。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM