我在用户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时,进程仍处于活动状态。我有什么想法可以正确地退出这些过程吗?
答案 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"
}