如何杀死蒸气服务器

问题描述

我正在尝试使用 Vapor 构建一个非常简单的服务。它依赖于 websockets,我在模拟器中的 iOS 设备和本地主机上运行的蒸汽之间建立连接。

当我想对服务器进行更改时,我会重新启动,有时会得到 [ ERROR ] bind(descriptor:ptr:bytes:): Address already in use (errno: 48)

我不知道如何找到并杀死这个进程,这是一个运行在8080上的套接字。我必须重新启动才能摆脱它,重复几次后感觉就像把电脑扔出窗外(问题关于这个已经在 mentalHealthOverflow.com 中提出的问题)。

我怎样才能找到并终止这个进程?停止模拟器设备不行。

解决方法

修复实际上非常简单。转到您的终端并运行 lsof -i :<port>,因此在您的情况下,lsof -i :8080。您将获得在该端口上运行的所有进程的输出。

COMMAND   PID          USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Run     48904 calebkleveter   31u  IPv4 0x97c38af35a1b4785      0t0  TCP localhost:Run (LISTEN)

然后您可以运行 kill 命令,从您获得的输出中传入 PID

kill 48904

您现在可以运行您的 Vapor 服务了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...