node.js父子进程间通讯
发布于 2 年前 作者 CommanderXL 2104 次浏览 来自 问答

最近在学习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 回复

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

@xtx1130 老铁,稳。没想到这遇到你了~ BJFU校友~

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

回到顶部