跳到主要内容
CNode

子进程如何与父进程通讯?

社区
Mmajong发布于 14 年前最后回复 14 年前
662650

请问,用cluster创建多个worker进程,每个worker都是一个listen http端口来处理http请求,当收到一个特定的请求时,想向cluster或当前进程的父进程发送消息或事件,有什么办法吗?

查看回复

回复 (6)

C
cmingxu#614 年前
引用 majong我的目的是想在应用有新的版本或补丁发布时,退出nodejs,更新文件然后再次启动nodejs。

如果你是再用node的cluster, master和worker通过process.send的api来传递消息。 再cluster中, worker和master是可以传递消息的, 原理是master再spawn一个worker后会创建pipe共享与worker和master之间。

如果lsof一个进程, 你会发现有不知名的pipe文件出现, 这就是进程间消息的通道。

M
myy#514 年前
引用 myysend() 看看文档中有例子。

@majong 有区别么?你看了文档吗?

M
majong#414 年前
引用 myysend() 看看文档中有例子。

我是想在其他模块中发送事件或消息, 例如:一个http request来的时候.

M
myy#314 年前

send()

看看文档中有例子。

M
majong#214 年前

好像一个进程发出的事件只有它自己能收到,如何能让其他进程收到呢?比如,worker进程发一个事件给master.

M
majong#114 年前

我的目的是想在应用有新的版本或补丁发布时,退出nodejs,更新文件然后再次启动nodejs。

参与回复

登录后即可参与回复。登录