nodejs中的process对象

我们知道nodejs是单线程模式来运行的,进程也是单个的,怎么在nodejs运行的时候操作nodejs的进程呢?可以使用nodejs的全局对象process。既然process是nodejs的全局内置对象,那么也就是说你可以在代码中的任何位置访问此对象,而不需要引入任何模块,这个对象代表的就是node.js代码宿主的操作系统进程对象。使用process对象可以截获进程的异常、退出等事件,也可以获取进程的当前目录、环境变量、内存等信息,还可以执行进程退出、工作目录切换等操作。

       不过我们在代码中最常见的一般都是process.stdout.write("xxxx");,这句话是什么意思呢?我们都知道console.log(),就是在控制台输出调试信息用的,其实,console.log与process.stdout.write("xxxx");有如下的关系:

1

2

3

console.log = function(info){

    process.stdout.write(info+'\n');

}

    很明显,console.log就是封装了process.stdout.write("xxxx"),输出调试信息两种方法都可以,只不过一个较为常见,一个你很少见到罢了。

测试一下,编写a.js:

1

2

3

4

5

var crtDir=process.cwd();

console.log(crtDir+"\n");

//console.log就是封装了process.stdout.write

process.stdout.write(new Date().toISOString()+"\n");

process.stderr.write('stderr一般用来打印出错的信息'+"\n");

    运行结果:

image.png

你可能感兴趣的:(前端,js,nodejs)