终止多个节点进程从NPM运行脚本开始

时间:2017-04-28 01:40:38

标签: node.js shell npm

我在用户npm start s:

时产生以下多个节点进程
"scripts": {
    "start": "node calculator.addition/index.js & node calculator.division/index.js & node calculator.multiply/index.js & node calculator.subtract/index.js &"
}

这可以很好地启动多个节点进程,但是当我命令/ ctrl c时,进程仍处于活动状态。我有什么想法可以正确地退出这些过程吗?

2 个答案:

答案 0 :(得分:0)

我建议您使用名为concurrently的node_modlue运行它,这样所有进程将同时运行,并且一旦您告诉它停止它就会停止。

scripts: {
  "start": "concurrently --raw --kill-others \"npm run addition\" \"npm run node2\"",
  "addition": "node calculator.addition/index.js",
  "division": "node calculator.division/index.js",
  ...etc
}

答案 1 :(得分:0)

您还可以使用pm2来管理服务生命周期:

pm2 start node calculator.addition/index.js --name addition

这样您可以使用以下命令停止所有进程:

pm2 stop all

您的脚本部分如下所示:

"scripts": {
    "start": "pm2 stop -s addition division;pm2 delete -s addition division; pm2 start node calculator.addition/index.js -n addition; pm2 start node calculator.division/index.js -n division"
}