node中全局对象三 --- process
2016-10-29 21:58
232 查看
process模块用来与当前进程的互动。process其实完整的写法是global.process
process对象提供了一系列的属性、方法和事件。一:属性
process.pid:当前进程的进程号process.version:Node的版本,比如v0.10.18process.platform:当前系统平台,比如Linuxprocess.title:默认值为“node”,可以自定义该值process.argv:当前进程的命令行参数数组process.env:指向当前shell的环境变量,比如process.env.HOMEprocess.execPath:运行当前进程的可执行文件的绝对路径process.stdout:指向标准输出process.stderr:指向标准错误process.stdin: 指向标准输入,用于监听用户的输入。现在对以上的一些属性进行讲解一下(1、process.stdout process.stderr,在命令窗口中向用户显示内容
显示结果发现该两个的区别颜色不一样,跟console.log和console.error差不多。(2、process.stdin ---该方法用于监听用户的输入。
在webstorm中运行之后在控制台处出现光标闪烁,说明可以输入,回车则显示输入的内容。 在cmd命令行下运行也是一样,可以输入,回车之后显示输入的内容,按ctrl+c则可以退出输入。 在nodeJs的旧版本中,默认情况下,输入流是关闭的,要监听处理输入流数据,首先要开启输入流:process.stdin.resume(); 不过在新版本中不需要这个了。 我们下面用一个例子来讲标准输入输出结合起来使用:process.stdin.setEncoding('utf-8'); var a, b; process.stdout.write("请输入a的值:"); process.stdin.on('data',function(chunk){ if(!a){ a = Number(chunk); process.stdout.write("请输入b的值:"); }else{ b = Number(chunk); process.stdout.write("a + b = " +(a+b)); } });根据输入步骤输入a , b 的值之后,该段代码的执行结果为:
(3: process.argv 这个是以数组的形式来显示
在cmd下命令下执行结果如下: 可以看出输出的形式是以数组的形式输出的,0:是node命令的绝对路径1:是node执行的js文件的绝对路径,2....(数组的后面主要由执行命令后面跟数据决定)二:process提供的方法
process.exit():退出当前进程process.cwd():返回运行当前脚本的工作目录的路径process.chdir():改变工作目录process.nextTick():将一个回调函数放在下次事件循环的顶部 下面我们对process.cwd()来详细的讲解一下 在webstorm下,我们发现执行结果和__dirname的执行结果是一样的, 但是他们两个也有区别,__dirname表示代码js文件所在目录 process.cwd()表示执行node命令的时候(cmd命令行下),我们在哪个目录 current working dir三:process 方法提供的事件
exit事件 :当前进程退出时,会触发exit事件 uncaughtException事件 : 当前进程抛出一个没有被捕捉的意外时,会触发uncaughtException事件 readable :有东西可以读取的时候就会触发这个事件 SIGINT : 如在cmd命令行下输入ctrl+C 触发的退出行为 下面我们对一些事件处理进行详细的讲解(1、readable
上图控制台中绿色框为输入的内容,红色框内的为回车之后读取打印出来的数据。(2、exit SIGINT
下面我们用一个例子来总体了解一下这两个事件。 这次我们在cmd控制台处运行,运行之后输入2回车之后则打印了2(如下图),祝部分主要是process的stdin属性起的作用 接着我按ctrl+c来进行取消进程,则结果如下图显示,首先是ctrl+c触发了SIGINT事件,所以首先打印了“Program has a signal”; 然后 process.exit();触发了exit事件,所以后面跟着打印了"Program will exit"。相关文章推荐
- node.js之全局对象process
- 珠峰培训node正式课--【笔记】|全局对象 | process | util | fs | stream 流
- Node.js 的Process全局对象
- Node.Js 全局对象与全局属性(一)
- Node.js的全局对象和全局变量
- node.js 学习第十一天 全局对象
- [Node.js]全局对象
- Node.js 全局对象
- Node中的全局对象和全局变量
- Node.js 基础教程之全局对象
- 学node的一点小笔记(六) 全局对象
- Node.js 的 Global全局对象
- Node.js中的全局对象global(一)
- Nodejs随笔(三):全局对象之process
- Node.js的全局对象和全局变量
- Node.js 全局对象
- Node.js的全局对象和全局变量
- Node.js全局对象
- nodeJS入门例子一—全局对象之process
- Node.js 全局对象