一尘不染

进程间通信建议

linux

我正在寻找一种轻巧,快速,简便的方法来处理Linux机器上某些程序之间的进程间通信。

目前,我正在考虑命名管道,因为它是由操作系统本身提供的。关于性能或可用性是否有任何警告?

共享内存会更好吗?

我认为我不需要超级复杂的框架。

请指出正确的方向,谢谢!


更新:我想构建一个小程序(守护程序),告诉其他程序(它本身开始)暂停,向后报告其状态,停止等。

因此,应通知另一个程序有新命令正在等待它。管道不是很理想,不是吗?


阅读 187

收藏
2020-06-07

共1个答案

一尘不染

Boost有一个很好的InterProcess库,它是跨平台的并且非常直观。

我只是在玩弄它,所以那里可能会有更好的选择。

但是,如果您真的不需要共享内存,我会坚持使用消息传递方法。您将避免僵局和竞争状况。管道原理确实很棒,它甚至允许出现惰性行为,这可能会节省大量的处理时间,具体取决于手头的事情!

2020-06-07