您的位置:首页 > Web前端 > Node.js

nodejs--process

2016-07-22 15:35 267 查看
在之前的Nodejs概述中有提到,process指的是当前的进程,是个全局的变量,在任何地方都可以调用它,而不需要ruqire来加载

1.退出码

当进程结束的时候,会返回一个整数值,表示退出时的状态。一下是常用的退出码:

0,正常退出

1,发生未捕获错误

5,V8执行错误

8,不正确的参数

128 + 信号值,如果Node接受到退出信号(比如SIGKILL或SIGHUP),它的退出码就是128加上信号值。由于128的二进制形式是10000000, 所以退出码的后七位就是信号值

2.常用属性

process.argv:返回当前进程的命令行参数数组

process.env:返回一个对象,成员为当前Shell的环境变量,比如process.env.HOME

process.installPrefix:node的安装路径的前缀,比如/usr/local,则node的执行文件目录为/usr/local/bin/node

process.pid:当前进程的进程号

process.platform:当前系统平台,比如Linux

process.title:默认值为“node”,可以自定义该值

process.version:Node的版本,比如v0.10.18

3.process.env

十分非常超级重要的属性,

在Confige中,一般设置端口的时候会用
port: process.env.PORT || 9178
来设置默认端口或者当前进程的端口号

在Config中,在设置当前的环境变量的时候,同样会用
process.env.NODE_ENV
这样可以确定当前所处的开发阶段。生产阶段设为production,开发阶段设为develop或staging,然后在脚本中读取process.env.NODE_ENV即可

4.process的一些自带方法

1. process.chdir():切换工作目录到指定目录。

2. process.cwd():返回运行当前脚本的工作目录的路径。

3. process.exit():退出当前进程。

4. process.getgid():返回当前进程的组ID(数值)。

5. process.getuid():返回当前进程的用户ID(数值)。

6. process.nextTick():指定回调函数在当前执行栈的尾部、下一次Event Loop之前执行。

7. process.on():监听事件。

8. process.setgid():指定当前进程的组,可以使用数字ID,也可以使用字符串ID。

9. process.setuid():指定当前进程的用户,可以使用数字ID,也可以使用字符串ID。

5.process.cwd(),process.chdir()

cwd方法返回的是当前目录(绝对路径),chdir方法用来切换目录

来一段代码看看吧:

process.cwd()

/home/aaa

process.chdir(‘/home/bbb’)

process.cwd()

/home/bbb’

6.process.nextTick()

将任务放在当前一轮事件循环(Event loop)的最后面

process.nextTick(function(){

console.log(”)

})

当然,我们大部分所见的代码都是利用setTimeout(function(){

console.log(”)

},0)

虽然nextTick的效率更高,因为系统不会检查设定的指定时间,但是据我所见,用的更多的还是setTimeout方法

7.process.on()

监听当前进程的各种事件,并制定回调函数

process.on('SIGINT', function () {

console.log('Got a SIGINT. Goodbye cruel world');

process.exit(0);

});


process支持的时间有两个种类

data事件:数据输出输入时触发

SIGINT事件:接收到系统信号时触发
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: