每日灵魂一问-浅谈node.js中的process

Posted NANA

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日灵魂一问-浅谈node.js中的process相关的知识,希望对你有一定的参考价值。

process

process是node.js的全局对象,不需要使用require()加载即可使用


process模块主要做两方面的事情

  • 1.获取进程信息(资源使用、运行环境、运行状态、三个标准输入输出流)
  • 2.执行进程操作(监听事件、调度任务、发出警告、退出进程)

1.获取进程信息(资源使用、运行环境、运行状态)

1.1获取进程信息-资源使用:指运行此进程所消耗的机器资源

  process.memoryUsage() 内存 
  process.cpuUsage() cpu

1.2获取进程信息-运行环境

  process.cwd()运行目录
  process.version 获取node环境
  process.arch 获取CPU架构
  process.env.NODE_ENV 获取用户环境 区分development 和 production
  process.platform 系统平台
  process.uptime()已经运行的秒

1.3获取进程信息-运行状态

  process.argv 可以获取传入的命令行参数,返回值是一个数组
  process.execArgv 返回node特殊(node-specific) 的命令行参数
  process.execPath 绝对路径
  process.mainModule 判断是否是主文件
 

1.4获取进程信息-标准输入输出流

  process.stdout 标准输出
  process.stdin 标准输入
  process.stderr 标准错误输出

2.执行进程操作(监听事件、调度任务、发出警告)

2.1执行进程操作-监听事件 process.on()

  process.on(‘beforeExit’,cb) 里面可以执行异步代码
  process.on(‘exit’,cb)执行同步代码
  process.on(‘uncaughtException’,cb) 捕获异常信息(没有try catch的异常信息)

2.2执行进程操作-调度任务process.nextTick(fn)

  process.nextTick(fn)把回调函数作为微任务,放入事件循环的任务队列中

2.3执行进程操作-发出警告

  process.emitWarning(\'Something warning   happened!\', {
      code: \'MY_WARNING\',
      type: \'XXXX\'
  });

2.4执行进程操作-退出进程

  process.abort()
  process.exit([code])终止当前进程并返回给定的 code
  process.kill(pid, [signal])结束对应某pid的进程并发送一个信号

以上是关于每日灵魂一问-浅谈node.js中的process的主要内容,如果未能解决你的问题,请参考以下文章

node.js每日灵魂一问- node.js的fs模块&常用方法

每日灵魂一问-说说你对Node.js 的理解?优缺点?应用场景?

每日灵魂一问-对Node 中的 Stream 的理解?应用场景?

每日灵魂一问-关于react

每日灵魂一问-如何实现文件上传?

每日灵魂一问-继承的6种方法(下)