Node.js 创建子进程的方法常用的有如下几种:
child_process
- exec: 衍生一个 shell 然后在该 shell 中执行
command
,并缓冲任何产生的输出,最大缓存 1024*1024 个字节。 - execFile: 函数类似
exec
,但默认情况下不会衍生 shell。 相反,指定的可执行文件file
会作为新进程直接地衍生,使其比exec
稍微更高效。和exec
一样,它也有最大 1024*1204 个字节的显示缓存。 - fork: 是
spawn
的一个特例,专门用于衍生新的 Node.js 进程。 与spawn
一样返回ChildProcess
对象。 返回的ChildProcess
将会内置一个额外的通信通道,允许消息在父进程和子进程之间来回传递。 - spawn: 上诉的几个方法其实都是通过 spawn 实现的。
cluster
- fork: 衍生出一个新的工作进程,这只能通过主进程调用。