nodejs--process

在之前的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支持的时间有两个种类

  1. data事件:数据输出输入时触发
  2. SIGINT事件:接收到系统信号时触发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值