10.node多进程之exec/execFile/spawn/fork之间的区别
1.如何取选择使用exec/execFile和spawn?
- spawn是流式的,所以适合耗时任务,比如执行npm install,打印install的过程
- exec/execFile比较适合开销小的任务,更关注结果,比如ls等
2. fork一般用于哪些场景?
- 一般用于比较耗时的场景,并且用node去实现的,比如下载文件
- fork可以实现多线程下载:将文件分成多块,然后每个进程下载一部分,最后拼起来
3. require与fork的区别
- require是在主进程中执行的。
- 在fork过程中,会启动两个node进程,一个是主的,另一个是子的,然后在子进程中,会起一个独立的v8引擎,去解析这个test.js,执行这个文件中的代码
- 所以,fork其的两个进程之间是完全独立的关系