gpt4 book ai didi

Linux 程序之间的通信

转载 作者:太空狗 更新时间:2023-10-29 15:30:10 24 4
gpt4 key购买 nike

我如何实现用 C 编写的 Linux 程序之间的通信?具体来说,我想要以下内容:

我的程序可以在多个实例中运行。启动时,我希望我的程序检测到我的程序的所有其他实例已经在运行,然后它应该能够向它们发送文本字符串。另一方面,我还希望已在运行的实例收到通知,告知新实例已启动,并且它们还应该能够向新实例发送文本字符串。

有人能告诉我一些可用于在 Linux 上实现此类软件设计的 API 吗?在 Windows 上,我可以简单地枚举所有窗口,检查它们的类名以找出我的程序的所有实例,然后向系统注册一条自定义消息,我可以使用它向它们发送数据。但我如何在 Linux 上执行此操作?

感谢任何提示!

最佳答案

你有很多选择:

  • 命名管道;
  • 消息命令(msgget、msgsend);
  • 使用 TCP 套接字;
  • 使用 UNIX 域套接字;
  • 使用第三方代理,例如 DBus 或 ActiveMQ;

如果它是用于一台独立的机器,并且只有一个数据流,我会推荐选项编号 1。

关于Linux 程序之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9197700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com