WHY 共享内存 进程间通信有许多种方式,不同的场景有不同的选择。 当通信内容非常简单的时候,可以考虑信号、信号量甚至 flock() 这种最基础的通信方式。 当需要传递不仅仅是信号这种规模的数据时,可以考虑 FIFO、MQ 等内核 API,也非常的简单易用 。 当我们的传输内容再进一步复杂,需要用“协议”去抽象这种复杂度的时候,Unix Domain Socket 会是一个不错的选择,比如常见的 gRPC over UDS;或者牺牲一点网络栈开销,直接使用基于 TCP / UDP 的 Socket 也非常