实现背景
node 中单进程,无法利用多核CPU, 解决办法,就是一个核跑一个进程
实现方法
使用child-process 模块
exec exec可以用操作系统原生的方式执行各种命令,如管道 cat ab.txt | grep hello
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18const childProcess=require("child_process");
childProcess.exec("cat /Users/sogubaby/Desktop/demo.txt",function(err,msg,srderr){
console.log("error",err);
console.log("res",msg);
console.log("strout",srderr);
})
输出结果
sogubaby ~/Desktop/learn_node/manyprocess$node child-process.js
error null
res yedong
yedong
strout
err: 执行中遇到的错误
msg: 正确执行的结果
strout 执行错误后终端中输出的结果execFile 执行一个文件
spawn
fork