Process.nextTick的用法

Process对象

提供当前Node进程的信息


1.退出码

0:正常退出 1:发生未捕获错误,5:V8执行错误,8:不正确的参数

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


2.属性

argv:返回当前进程的命令行参数数组。[参数数组 ]

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

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

pid:当前进程的进程号。[进程号]

platform:当前系统平台,比如Linux。[平台]

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

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


2.1stdout,stdin,stderr


Process.nextTick的用法_第1张图片

注意:process.stdin process.stdout 与其他进程的通信 是通过stream形式 所以通过pipe管道命令中介


实验:


创建读取流之后通过zlib创建gzip 但是没有找到生成的gzip.. (fixed:api问题)

参考:http://blog.csdn.net/jiangbo_phd/article/details/51909174 


Process.nextTick的用法_第2张图片

问题:

1.Buffer from方法第2个参数传递base64 报错..(fixed node版本..)

Process.nextTick的用法_第3张图片

参考: 1. http://blog.fens.me/nodejs-buffer/

    2.https://nodejs.org/api/buffer.html#buffer_class_method_buffer_from_array


2.问题2:参数不是一个类型数组 (fixed node 版本)

Process.nextTick的用法_第4张图片

参考1:.https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwjayqTQ-8DQAhXMj5QKHV4tDC8QFggZMAA&url=http%3a%2f%2fstackoverflow%2ecom%2fquestions%2f36899888%2fgetting-typeerror-this-is-not-a-typed-array-using-buffer-from-in-mocha&usg=AFQjCNHq0i6IXF8MwHglkdAz_pV10FMY0A

参考2:To make the creation of Buffer objects more reliable and less error prone, the various forms of the new Buffer() constructor have been deprecated and replaced by separate Buffer.from(), Buffer.alloc(), and Buffer.allocUnsafe() methods.

貌似是node版本太低... 不过n模块全局安装后 指令无效...


2.1.2 stdin 标准输入

process.stdin.pipe(process.stdout)  表示将标准输入导向标准输出。


Process.nextTick的用法_第5张图片
Process.nextTick的用法_第6张图片

效果:输入xxxx 就输出data:xxx;


2.2 argv,execPath,execArgv

argv属性返回一个数组,由命令行执行脚本时的各个参数组成。它的第一个成员总是node,第二个成员是脚本文件名,其余成员是脚本文件的参数。


Process.nextTick的用法_第7张图片

2.3 process.env

process.env属性返回一个对象,包含了当前Shell的所有环境变量。比如,process.env.HOME返回用户的主目录。

通常的做法是,新建一个环境变量NODE_ENV,用它确定当前所处的开发阶段,生产阶段设为production,开发阶段设为develop或staging,然后在脚本中读取process.env.NODE_ENV即可。


Process.nextTick的用法_第8张图片

3.方法


Process.nextTick的用法_第9张图片

tip:setTimeout 还有process.nextTick 及各种回调函数的执行顺序

Process.nextTick的用法_第10张图片

疑问:process对象的函数应该平常很少用吧(linux上跑node在运行环境也不可能有权限去手动debug吧)..莫非pm2底层就是这些..检测变化然后输出各种调试信息


tip:https://github.com/Unitech/pm2/tree/master/lib







你可能感兴趣的:(Process.nextTick的用法)