我正在使用“ npm run node_1&npm run node_2&”在不同端口上运行应用程序的多个服务器实例,这成功地在3001和3002上运行了我的本地主机。但是当我尝试使用CTRL + C关闭它时,它只会关闭第一个定义的端口,而另一个端口仍在使用中,并在下面给出错误,当我再次运行它时
[nodemon]从node ./networkNode.js 3002 http://localhost:3002
开始
events.js:173
投掷者//未处理的“错误”事件
^
错误:监听EADDRINUSE:地址已在使用::: 3002
My package.json :
"scripts": {
"node_1": "nodemon --watch . -e js ./networkNode.js 3001
http://localhost:3001",
"node_2": "nodemon --watch . -e js ./networkNode.js 3002
http://localhost:3002",
},
答案 0 :(得分:0)
命令后的&
作为后台作业运行。 here
可能更容易的是使用NPM concurrently
软件包来启动这些过程。用concurrently
杀死Ctrl+C
会杀死它开始的所有工作。
答案 1 :(得分:0)
当您尝试使用&
运行多个进程时,只有1个进程被附加到终端AFAIK,而当您按下 ctrl + c 时,只有附加的进程将获得{{3 }}。如果希望使用SIGINT signal event之类的流程管理器来运行这些流程,或者如果您不想大量使用pm2,则更好。