我正在尝试研究我能找到的所有不同方法,以便Linux计算机上的进程与同一计算机上的第二个进程(不是子进程)建立IPC。我确实发现可以使用 socket
,因为我知道第二个进程正在监听的文件系统上的路径。
是否可以通过其他方式与第二个进程进行 IPC 通信?我不希望第一个进程知道第二个进程的 pid/uid。该场景更倾向于与同一台计算机上的不同作者的不受信任的进程进行通信,但仍然有一些信息,例如第二个进程中的套接字正在监听?
最佳答案
共享内存和套接字可用于彼此不相关的进程之间的 IPC 通信。管道可用于父子进程之间的IPC通信。
共享内存是最快的进程间通信形式。在所有其他方法中,系统调用将数据从一个进程的内存区域复制到另一进程。共享内存的缺点是,您需要实现同步方法以避免竞争条件。
套接字接口(interface)允许跨网络以及本地进程之间以面向连接的方式进行通信。 UNIX 域套接字使用已知文件路径提供本地 IPC。
关于Linux - 使用第二个进程建立 IPC 的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975301/