在两个进程之间传递消息

时间:2017-04-13 09:23:11

标签: c++ node.js process raspberry-pi ipc

我正在构建一个包含2个进程的系统。

流程1
这个过程实际上是一个Node.js程序。此过程实际上是处理传入请求的Web服务器。

流程2
这个过程实际上是一个C++程序。

rc.local

的帮助下,两个进程都会在启动时自动启动

现在,对于Process 1,有一些特定请求应该传递给Process 2

例如,如果Process 1收到带有/enqueue正文有效负载的路由JSON的帖子请求,Process 1应该将JSON字符串化并传递给{ {1}}。

Process 2收到Process 2时,它应该终止一个工作线程并启动一个带有JSON的新线程来执行实际任务。无论工作线程是否仍处理上一个JSON

,都应该杀死工作线程

如果这两个进程都是JSON应用程序,我可以从Node.js分叉Process 2并使用以下代码。

Process 1

但我的第二个流程是process.on('message',function(message){ //implementation } ... process.send(data); 个应用。

有关如何实施它的任何想法?

注意:在标记此问题之前,请记住我不是在寻找完整的代码。我只需要了解如何做到这一点。

1 个答案:

答案 0 :(得分:1)

您不能将Nodejs消息传递/事件设施用于此目的,因为它特定于Node。

您需要使用操作系统的通信工具,例如Unix,TCP,UDP套接字或两个进程都可以与之通信的事件系统,如Redis或ZeroMQ。