node.js在windows下的学习笔记(8)---进程管理Process

时间:2021-01-24 15:38:56

process是一个全局内置对象,可以在代码中的任何位置访问此对象,这个对象代表我们的node.js代码宿主的操作系统进程对象。

使用process对象可以截获进程的异常、退出等事件,也可以获取进程的当前目录、环境变量、内存占用等信息,还可以执行进程退出、工作目录切换等操作

1.当我们想要查看应用程序当前目录时,可以使用cwd函数 :

process.cwd();

2.如果需要改变应用程序目录,就要使用chdir函数了:

process.chdir('目录名');

3.stdout是标准输出流,它的作用就是将内容打印到输出设备上,console.log就是封装了它:

process.stdout.write('要输出的内容');

4.stderr是标准错误流,和stdout的作用差不多,不同的是它是用来打印错误信息的,我们可以通过它来捕获错误信息:

process.stderr.write('要输出的内容');

5.stdin是进程的输入流,我们可以通过注册事件的方式来获取输入的内容:

//通过注册事件的方式来获取输入的内容
process.stdin.on('readable', function() {
//获取输入流中的内容
var chunk = process.stdin.read();
if (chunk !== null) {
//输出data+输入流的内容
process.stdout.write('data: ' + chunk);
}
});

6.如果你需要在程序内杀死进程,退出程序,可以使用exit函数:

//参数code为退出后返回的代码,如果省略则默认返回0
process.exit(code);

7.获取stdout内容:添加注册事件

process.stdout.on('data',function(data){
console.log(data);
});

8.在我们的输入输出的内容中有中文的时候,可能会乱码的问题,这是因为编码不同造成的,所以在这种情况下需要为流设置编码:

process.stdin.setEncoding('utf8');
process.stdout.setEncoding('utf8');
process.stderr.setEncoding('utf8');

9.更多process的用法:

http://nodeapi.ucdok.com/#/api/process.html
http://nodejs.cn/api/process