Linux - 使用第二个进程建立 IPC 的选项

标签 linux ipc

我正在尝试研究我能找到的所有不同方法,以便Linux计算机上的进程与同一计算机上的第二个进程(不是子进程)建立IPC。我确实发现可以使用 socket ,因为我知道第二个进程正在监听的文件系统上的路径。

是否可以通过其他方式与第二个进程进行 IPC 通信?我不希望第一个进程知道第二个进程的 pid/uid。该场景更倾向于与同一台计算机上的不同作者的不受信任的进程进行通信,但仍然有一些信息,例如第二个进程中的套接字正在监听?

最佳答案

共享内存和套接字可用于彼此不相关的进程之间的 IPC 通信。管道可用于父子进程之间的IPC通信。

共享内存是最快的进程间通信形式。在所有其他方法中,系统调用将数据从一个进程的内存区域复制到另一进程。共享内存的缺点是,您需要实现同步方法以避免竞争条件。

套接字接口(interface)允许跨网络以及本地进程之间以面向连接的方式进行通信。 UNIX 域套接字使用已知文件路径提供本地 IPC。

关于Linux - 使用第二个进程建立 IPC 的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975301/

相关文章:

c# - 如何使用 WCF 从 Windows 服务通知应用程序

linux - 如何查找文件并在其上执行程序

pipe - 在 Julia 中捕获进程的输出

linux - Linux 中的不间断写入

linux - 我们可以将公钥和私钥放在同一个authorized_keys中吗

javascript - 如何将 ipcRenderer 从 Electron 添加到 Angular?预加载脚本中的附加变量未定义

c# - 将一个对象传递给 Default AppDomain,以从进程中创建的子 AppDomain 接收回调

delphi - IPC使用SendMessage,但接收者具有随机的窗口标题

linux - nginx: [emerg] 无效参数

java - 在 Android 设备上更改 scaling_governor