node.js父子进程间通讯
最近在学习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 看到这个熊猫头,禁不住水了一发[手动滑稽] 哈哈