CNode

node.js父子进程间通讯

问答
CCommanderXL发布于8 年前最后回复8 年前3 回复5209 浏览0 收藏

最近在学习node.js的child_process的文档,通过fork方法创建子进程的时,有个silent的配置选项

const fork = require('child_process').fork
const cp = fork('./sub.js', [], { silent: true })

如果将silent配置为了true,那么子进程的stdin/stdout/stderr将会pipe到父进程。

因为通过fork的方法去创建子进程的话,父子进程是可以通过ipc通道进行通讯的。

那么这个将stdin/stdout/stderr都pipe到父进程我想也是为了父子进程间的通讯吧?不过这样做实际上有什么用途以及实际场景呢?

查看回复

回复 (3)

X
xtx1130#1·8 年前

没用过fork中的这个参数,不过经常用spawn中的stdio,在写cli的时候,如果通过spawn调shell,而shell中运行的命令有read的话,一般使用stdio把stdin和out转到process中,这样能建立起来tty和shell的交互

X
xtx1130#3·8 年前

@CommanderXL 看到这个熊猫头,禁不住水了一发[手动滑稽] 哈哈

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