process可以用于node和系统中已经存在的进程进行交互,创建工作子进程等。
process模块是一个全局对象,允许你获得或者修改当前node进程的设置。
引入
process模块用来与当前进程互动,可以通过全局变量process访问,不必使用require命令加载。
它是一个EventEmitter对象的实例。
process事件
- exit事件
进程退出
process.on('exit', function() {
...
- uncaughtException事件
未捕获的异常
process.on('uncaughtException', function (err) {
..
process属性
- process.pid:当前进程的进程号。
- process.version:Node的版本,比如v0.10.18。
- process.platform:当前系统平台,比如Linux。
- process.title:默认值为“node”,可以自定义该值。
- process.env:指向当前shell的环境变量。
- process.execPath:运行当前进程的可执行文件的绝对路径。
- process.stdin:指向标准输入。
- process.stderr:指向标准错误。
- process.stdout:指向标准输出,也就是在命令行窗口向用户显示内容。
它的write方法等同于console.log
process.stdout.write('description:');
- process.argv:当前进程的命令行参数数组。
数组第一项是node,第二项是.js文件的名称,接下来依次是命令行传入的参数
示例:
// 建立iweb.js
console.log(process.argv);
// 在命令行输入:
node iweb.js 3000 2000
// 结果
[ 'C:\\Program Files\\nodejs\\node.exe','D:\\portal\\iuap_portal_fe\\node_modules\\iweb\\bin\\iweb.js','3000','2000' ]
process方法
- process.abort():退出node并创建一个核心文件
- process.exit():退出当前进程。
- process.cwd():返回运行当前脚本的工作目录的路径。
- process.chdir():改变工作目录。
- process.nextTick():将一个回调函数放在下次事件循环的顶部。
- process.kill():向进程发送一个信号
- process.memoryUsage():返回内存使用情况单位是bytes。
- process.uptime():返回 Node 程序已运行的秒数。
- process.hrtime():