node基础学习——进程管理

几个名词:
process对象:表示执行的进程
关于node子进程模块
操作系统任务调度:并发(多任务彼此交错进行)。
并行任务只能在多核CPU上进行,但任务数量必然多于CPU核心数量,操作系统也会自动进行任务调度。
进程创建——exec spawn fork
exec Buffer存储进程输出。适用于进程输入输出数据量较少时
spawn 数据量比较大(支持stream)
process.on在父子进程中监听message和send事件实现通信。
util模块封装了一些常用的js函数
进程线程参考

1
2
3
4
5
6
7
8
9
10
11
12
//主进程
var fs = require('fs');
const child_process = require('child_process');
var work = child_process.exec('node server.js',function(err,stdout,stderr){
console.log('stdout'+stdout);//server.js的输出结果。有两个子进程,一个是node.exe,一个是server(这是主模块文件路径)
console.log('stderr'+stderr);
});
work.on('exit',function(code){ //退出上述子进程
console.log('退出码'+code);//code为0即是正确
})
console.log(work.pid);//获取进程pid
//捕获异常退出程序 try...catch(err){process.exit(1)} 状态码设置1。正常是0。
1
2
console.log("进程"+process.argv+"执行");
//process对象的argv属性,表征各个进程,如process.argv[0]必是node执行程序路径(node.exe)。