huruji / blog

红日初升,其道大光:sun_with_face::house_with_garden:请star或watch,不要fork
https://juejin.im/user/5894886f2f301e00693a3e49/posts
158 stars 11 forks source link

Node.js的进程process #14

Open huruji opened 7 years ago

huruji commented 7 years ago

v2-e04e591123cef950e1d17084324d478c_r

在Node.js中,process对象是一个全局对象,可以直接在Node.js的REPL环境中访问该对象。该process对象有用的主要属性有

execPath:表示可执行文件的绝对路径

version:Node.js的版本号

versions:Node.js各种依赖的版本,是一个对象,包括node、v8等版本

platform:Node.js运行的平台

argv:运行Node.js的命令行参数,是一个数组,第一个是命令,第二个是文件名,之后时附加参数

env:操作系统信息

pid:进程的PID

title:命令行窗口的标题

在REPL环境中检验相应的属性如下: 1

另外process的stdin属性作为标准的输入流,默认情况下是暂停的,使用process.stdin.resume()方法恢复,如下就是一个简单的命令行交互界面:

process.stdin.resume();
console.log('请输入你想要输入的数据:');
process.stdin.on('data', function(chunk) {
  process.stdout.write('你输入的数据是:' + chunk.toString());
});

2

一个Node.js进程的主要方法有以下方法: process.memoryUsage():用于获取运行Node.js应用的进程的内存使用量,返回一个对象

rss:整数,进程的内存消耗量,单位是字节
heapTotal:整数,为V8所分配的内存量,单位字节
heapUsed:整数,V8的内存消耗量,单位字节

3

process.chdir():用于改变Node.js的工作目录,参数为一个路径,可以是相对,也可以是绝对

process.cwd():用于获取当前的工作目录,

console.log('directory ', process.cwd());

process.chdir('../');

console.log('directory ', process.cwd());

4

process.exit():用于退出进程,可提供一个整数作为退出代码,默认为0

process.kill(pid,[signall]):向另一个进程发送信号,如果不指定sinall,则说明是终止该进程。

process.uptime():获得应用程序当前的运行时间,单位秒 5