我正在使用Linux Ubuntu来创建守护进程。我已经参考了以下教程来了解使用fork和setid的守护进程代码的基本实现:
http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html
我有一个应用程序,我必须创建多个守护进程并在它们之间进行通信。
例如: 我有3个源文件,我想将它们作为3个不同的守护进程。我在这些源文件中定义了函数,我想从main()或其他源文件调用。
我应该如何创建多个守护程序进程,即每个单独的源文件都充当一个单独的守护进程? (我可能在这里错了,但我打算为这些文件函数的函数创建线程,这个函数将有自己的PID然后我做fork和setid以及其余的进程在这里创建一个守护进程,这可能会创建个体多个守护进程?)
我应该如何管理这些守护进程之间的通信? 例如:如果我想从源文件调用某个函数,并且该源文件是守护进程,那么我应该如何从该守护进程调用函数?
我正在互联网上搜索有关多个守护程序进程及其互通的信息,但如果有人可以帮助我,那将是非常好的。
谢谢。
答案 0 :(得分:0)
如果您是目标linux,我建议您让init系统处理恶魔功能(例如systemd)。
要在程序之间进行通信,可以使用命名管道https://linux.die.net/man/4/fifo。