停止所有node.js服务器实例

基兰·安巴蒂(Kiran Ambati):

这是我第一次使用Node.js,遇到了这个问题:

我已经通过IDE的插件启动了节点服务器。不幸的是,我无法使用IDE的终端。因此,我尝试从命令行运行脚本。

这是问题所在-我正在使用Express模块​​,而我的应用正在监听某个端口(8080)。当我从命令行启动应用程序时,它将引发以下错误:

events.js:71
    throw arguments[1]; // Unhandled 'error' event
                   ^
Error: listen EADDRINUSE
    at errnoException (net.js:770:11)
    at HTTPServer.Server._listen2 (net.js:910:14)
    at listen (net.js:937:10)
    at HTTPServer.Server.listen (net.js:986:5)
    at Object.<anonymous> (C:\xampp\htdocs\node\chat\app.js:5:5)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)

即使我不太确定该错误可能是什么,我仍然认为这是因为该应用程序正在侦听已在使用的端口。所以我做了:

netstat -an

我可以看到

TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING

这是因为当我尝试从IDE启动Node服务器时,它已经启动了。

所以我想知道,如何停止所有服务器实例?另外,如果您能告诉我如何检测端口上正在运行的内容并杀死它。

六氰化物:

Windows机器:

需要终止Node.js服务器,并且您没有运行任何其他Node进程,则可以告诉您的计算机终止名为的所有进程node.exe看起来像这样:

taskkill /im node.exe

如果进程仍然存在,则可以通过添加/f标志来强制进程终止

taskkill /f /im node.exe

如果您需要更细粒度的控制并且只需要终止在特定端口上运行的服务器,则可以使用它netstat来查找进程ID,然后向其发送终止信号。因此,在您的情况下,端口为8080,则可以运行以下命令:

C:\>netstat -ano | find "LISTENING" | find "8080"

输出的第五列是进程ID:

  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       14828
  TCP    [::]:8080              [::]:0                 LISTENING       14828

然后,您可以使用终止进程taskkill /pid 14828如果该进程拒绝退出,则只需将/f(force)参数添加到命令中。


Linux机器:

这个过程几乎是相同的。您可以杀死计算机上运行的所有Node进程(-$SIGNAL如果SIGKILL不足则使用):

killall node

或者也可以使用netstat,找到在端口上侦听的进程的PID:

$ netstat -nlp | grep :8080
tcp        0      0 0.0.0.0:8080         0.0.0.0:*                   LISTEN      1073/node

在这种情况下,进程ID是第六列中进程名称之前的数字,然后您可以将其传递给kill命令:

$ kill 1073

如果该进程拒绝退出,则只需使用该-9标志,它是一个SIGTERM并且不能被忽略:

$ kill -9 1073

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

node.js为新端口分叉新服务器实例

Node.js服务器启动和停止

基于Node.js的服务器与类似Apache HTTP服务器的服务器

使用 pythonSDK 停止 OpenStack 服务器实例

如何允许 Node.js 服务器接受 Ubuntu 上的所有请求?

Node.js-从服务器读取并下载目录中的所有文件,并保存在本地

Node.js HTTP服务器

调用node.js服务器

从Node JS服务器读取响应

使用Node JS的肥皂服务器

Node.JS服务器崩溃

崩溃服务器 node.js

具有多个用户的服务器实例

为什么需要将Express服务器实例作为参数传递给Node.JS中的http模块?

我PC上的Node.js服务器未收到来自AWS实例的POST请求

如何停止节点JS服务器作为服务运行

如何在所有服务器实例中更新本地内存缓存

如何列出和检索网络上的所有IIS Web服务器实例?

光子服务器:是否所有ClientPeer实例都自动在光纤中运行?

适用于所有 AWS 实例的堡垒服务器

启动node.js Express服务器即服务

具有服务器实例时如何从节点更改值(node-opcua)

Terraform-无法访问Web服务器-实例停止服务

所有文件均以myme text / html发送,而忽略服务器node.js上的标头功能writeHead

关闭基于 express 的 node js 服务器时,db 中的所有数据都将丢失

HAPI JS Node js创建https服务器

如何在在线服务器上启动Node JS服务器?

Node.js服务器(如Express)如何管理内存而不是PHP服务器?

如何从Firebase服务器启动Node.js服务器?