gpt4 book ai didi

在 C Linux 中创建多个守护进程并在它们之间进行通信

转载 作者:太空宇宙 更新时间:2023-11-04 12:26:47 27 4
gpt4 key购买 nike

我正在使用 Linux Ubuntu 创建守护进程。我引用了以下教程来了解使用 fork 和 setid 的守护程序代码的基本实现:

http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html

我有一个应用程序,我必须在其中创建多个守护进程并在它们之间进行通信。

例如: 我有 3 个源文件,我想将它们作为 3 个不同的守护进程。我在这些源文件中定义了函数,我想从 main() 或其他源文件中调用这些函数。

  1. 我究竟应该如何创建多个守护进程,即每个单独的源文件充当一个单独的守护进程?(我在这里可能是错的,但我计划为这些文件函数的函数创建线程,这个函数将有自己的 PID,然后我执行 fork 和 setid 以及其余进程在这里创建一个守护进程,这可能会创建个人多个守护进程?)

  2. 我应该如何管理这些守护进程之间的通信?例如:如果我想从源文件中调用某个函数,并且如果该源文件是一个守护进程,那么我应该如何从该守护进程中调用一个函数?

我正在互联网上搜索有关多个守护进程及其相互通信的信息,但如果有人能帮助我,那就太好了。

谢谢。

最佳答案

如果你的目标是 linux,我会建议你让 demon 功能由 init 系统(例如 systemd)处理。

要在您的程序之间进行通信,您可以使用命名管道 https://linux.die.net/man/4/fifo .

关于在 C Linux 中创建多个守护进程并在它们之间进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44375022/

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