进程API

1.process.exit()

按照linux的规范,一般成功用0表示,而非0则表示失败。那么process.exit也遵循这个规范

process.exit(0)表示成功完成,回调函数中,err将为null;

process.exit(非0)表示执行失败,回调函数中,err不为null,err.code就是我们传给exit的数字。 

//work.js
module.exports = function()
{
    process.exit(0);
}
require("./work")();
//不会打印
console.log("hello world!");   

2.process.cwd

  进程的工作目录

3.process.nextTick()

推荐https://www.cnblogs.com/jasonxuli/p/6074231.html

4.process.argv

命令行参数可以通过process.argv[2]来获取,process.argv[0]一般是node,argv[1]为文件名。

5.child_process

该模块新建子进程,例如:

function exec (cmd) {
  //npm --version
  return require('child_process').execSync(cmd).toString().trim()
}
var cluster = require('cluster');
cluster.setupMaster({
    exec:"auto.js"
});
cluster.schedulingPolicy = cluster.SCHED_RR;   //子进程调度策略,默认SCHED_RR,循环计数策略,在调用setupMaster或者子进程产生时生效。
console.log("schedulingPolicy is",cluster.SCHED_RR);
var cpus = require('os').cpus();
console.log("cpus is",cpus.length);
for(var i = 0; i < cpus.length; i++){
    console.log("##",i);
    cluster.fork();
}

6. process.env.npm_lifecycle_event

process.env     //属性返回一个包含用户环境信息的对象。
var
currentTarget = process.env.npm_lifecycle_event; //在cli环境下运行 npm run build console.log(currentTarget); //build

在webpack的配置文件可能会用到,linux中给process.env设置值很简单,只需要设置环境变量即可,如:

export NODE_ENV = "production";
console.log(process.env.NODE_ENV); 
//production

7. nodejs部署

pm2 部署:

https://blog.csdn.net/qq_17475155/article/details/53823862

https://www.cnblogs.com/jaxu/p/5193643.html

8.spawn

spawn - child_process.spawn

使用指定的命令行参数创建新进程。spawn 会返回一个带有stdout和stderr流的对象。你可以通过stdout流来读取子进程返回给Node.js的数据。stdout拥有’data’,’end’以及一般流所具有的事件。当你想要子进程返回大量数据给Node时,比如说图像处理,读取二进制数据等等,你最好使用spawn方法。

原文地址:https://www.cnblogs.com/liuyinlei/p/6920431.html