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.stdin process.stdout 与其他进程的通信 是通过stream形式 所以通过pipe管道命令中介


实验:


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

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


问题:

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

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

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


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

参考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)  表示将标准输入导向标准输出。


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


2.2 argv,execPath,execArgv

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



2.3 process.env

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

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



3.方法


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

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


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







最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容