如何杀死 Vapor 服务器

How to Kill Vapor Server

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

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

不知道怎么查杀这个进程,是8080上的socket运行,必须重启才能退出,感觉把电脑扔了window 重复几次后(mentalHealthOverflow.com 中已经问过这个问题)。

如何找到并终止这个进程?停止模拟器设备不起作用。

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

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 服务。

我用的内胆:

lsof -i :8080 -sTCP:LISTEN | awk 'NR > 1 {print }' | xargs kill -15

基本上只是将 Vapor 进程的 PID(端口 8080 上的 运行)作为参数发送到 kill 命令