`

node.js process进程模块API说明

 
阅读更多
一个process对象是一个 EventEmitter实例。
 
事件类型:
1.exit:
当进程结束的时候发出此事件,一旦执行退出事件,所有的消息队列都会终止,所以必须保证消息的并发性。
process.on('exit', function(code) {
  // do *NOT* do this
  setTimeout(function() {
    console.log('This will not run');
  }, 0);
  console.log('About to exit with code:', code);
});
2.uncaughtException:
当程序出现异常的时候,会在消息队列里面转一圈,如果没有捕捉或者响应的。就会发出uncaughtException事件,如果这个事件也没有处理,就会执行关闭退出进程的操作。
process.on('exit', function(code) {
  // do *NOT* do this
  setTimeout(function() {
    console.log('This will not run');
  }, 0);
  console.log('About to exit with code:', code);
});
3.SIGINT:我一直没搞懂信号是个啥玩意。
// Start reading from stdin so we don't exit.
process.stdin.resume();

process.on('SIGINT', function() {
  console.log('Got SIGINT.  Press Control-D to exit.');
});
 
进程的三个流,但是应该不会用到
process.stdout
process.stderr
process.stdin
 
process.argv:一个数组,存放命令的参数。
process.execArgv:一个参数,存放命令行的选项,与上面的那个数组放的内容是不重叠的。
$ node --harmony script.js --version
['--harmony']
['/usr/local/bin/node', 'script.js', '--version']
process.abort():掉用此方法,将发出一个abort事件,然后关闭进程,并生成一个核心文件。
process.chdir(directory):改变进程当前的工作目录,失败会抛出异常。
process.cwd():一个绝对路径,当前进程执行的那个node.js路径。
process.env:里面记录的是当前的系统信息。
process.exit(0):退出进程,0表示成功退出进程。
process.getgid():
process.setgid(id):
process.getuid():
process.setuid(id):
process.getgroups():
process.setgroups(groups):
process.initgroups(user, extra_group):
process.version:进程的版本信息
process.versions:进程的版本信息和他的依赖项版本信息
process.config:
process.kill(pid,[signal]):它是一个信号发送器,pid是进程ID,signal是信号类型。杀死进程也是用这个来操作的。
process.pid:
process.title:
process.arch:当前的处理器架构类型。
process.platform:当前的操作系统类型。
process.memoryUsage():获取内存使用率,以字节为单位。
process.nextTick(callback):在下次事件循环中处理回调函数。比setTimeout(fn,0)快和精确。
process.maxTickDepth:这个没有搞明白是什么含义
process.umask([mask]):这个也没搞懂
process.uptime():进程已经运行的时间
process.hrtime():这个也没搞懂
分享到:
评论

相关推荐

    深入理解Node.js中的进程管理

    本文主要对 Node.js 中进程管理相关的东西做一个简单介绍,包括 process 对象、child_process 模块和cluster 模块,详细的 API 可以查看官方文档,下面来看看详细的介绍吧。 Process 对象 process 是 Node.js 的一个...

    详解Node.JS模块 process

    process 模块是 nodejs 提供给开发者用来和当前进程交互的工具,它的提供了很多实用的 API。从文档出发,管中窥豹,进一步认识和学习 process 模块: 如何处理命令参数? 如何处理工作目录? 如何处理异常? ...

    doc:获取有关 Node.js 进程的使用情况和运行状况数据

    doc是一个小模块,可帮助您收集有关 Node.js 进程的健康指标。 它通过仅使用 Node 本身上可用的 API(无本机依赖项)来实现这一点。 它与 APM 平台没有任何关系,因此您可以为此目的自由使用任何您想要的东西。 它...

    stateful-process-command-proxy:node.js模块,用于通过stdout和stderr流针对有状态子进程池(例如bash或powershell)执行os命令

    有状态的过程命令代理Node.js模块,用于对有状态的,长期存在的子进程池(例如bash shell或powershell控制台)执行os命令 该节点模块可用于代理长期存在的bash进程,Windows控制台等。它在运行最新版节点的linux,os...

    node-api:node-api常用方法备忘

    Node.js v.8.9.0 API 初步学习梳理,用法备忘。 assert - 断言 Buffer - 缓冲器 child_process - 子进程 cluster - 集群 console - 控制台 crypto - 加密 dgram - 数据报 dns - 域名服务器 Error - 异常 events - ...

    Electron 调用命令行(cmd)

    因为最近的项目需求,...child_process 是 Node.js 的内置模块,该模块提供了衍生子进程的能力。 实现代码: const exec = require('child_process').exec export function start () { // 任何你期望执行的cmd命令,

    利用NodeJS的子进程(child_process)调用系统命令的方法分享

    NodeJS子进程简介 NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入、标准输出及标准错误输出的接口。 NodeJS子进程简介 NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 标准输入、标准...

    front-end-notes:前端笔记

    一万小时定律:人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。...12.process进程 相关项目: 基于 Node.js 原生打造一个静态资源服务器 实现一个 express 框架及常用中间件 实现一

    node-module-context

    该模块使用未公开的api(process.bindings)。 虽然有关于删除它的讨论(),但似乎建议不(已经使用了太多软件包),或者在最坏的情况下会引入一个标志,但是最好还是告知它。例子const contextify = require(...

    node-userdown:降低用户权限运行节点应用程序

    这不使用child_process API,也不会增加任何额外的进程开销。 相反, userdown包装http模块以完成任务。 安装 npm install userdown 用法 userdown USERDOWN_UID=nobody USERDOWN_GID=nobody examples/port80serv

Global site tag (gtag.js) - Google Analytics