NodeJS 进程间通信 - ipc实现

本文详细介绍了如何在Node.js中使用`child_process`模块创建子进程,并通过IPC(Inter-ProcessCommunication)进行双向通信,包括`spawn`方法创建子进程,`send`和`on(message)`事件监听消息传递。
摘要由CSDN通过智能技术生成

基础核心:

1.child_prcess.spawn(command, [args], { stdio: [null, null, null, 'ipc'} ) 创建一个有 ipc 通道的子进程

2.childProcess.send() 向发送消息

3.childProcess.on('message', message =>{}) 接受子进程发送过来的消息

4.process.send() 子进程向 父进程发送消息;

5.process.on('message', message =>{}) 子进程接受父进程发送过来的消息

parent.js

const child_process = require('child_process')
const childProcess = child_process.spawn('node', ['test.js'], {stdio: [null, null, null, 'ipc']})

// 监听标准输出
childProcess.stdout.on('data', chunk => {
    console.log(new TextDecoder().decode(chunk))
})

// 监听 IPC 通道
childProcess.on('message', message => {
    console.log('父进程接收到到子进程发送过来的消息: ', message)
})

// 通过 IPC 通过到发送消息
childProcess.send('父进程向子进程发送的消息')

child.js

// 通过 IPC  通道接受消息
process.on('message', message => {
    console.log('子进程接收到了 父进程发送过来的消息: ', message)

    // 通过 IPC 通道发送消息
    process.send('子进程发送的消息')    

    // 断开 ipc 通道
    process.disconnect()
})

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值