在开发中经常会遇到端口占用问题,例如下面,npm start
报的错误:
1 |
lsof -i tcp:8080 |
输出结果:
字段说明:
字段名 | 说明 |
---|---|
COMMAND | 进程名称 |
PID | 进程标识符 |
USER | 进程所有者 |
FD | 文件描述符,应用程序通过文件描述符识别该文件 |
TYPE | 文件类型,文件 REG 、目录 DIR 、字符 CHR 、块设备 BLK 、UNIX域套接字 UNIX 、先进先出队列 FIFO 、IP套接字 IPv4 |
DEVICE | 指定磁盘的名称 |
SIZE/OFF | 文件的大小 |
NODE | 索引节点(文件在磁盘上的标识) |
NAME | 打开文件的确切名称 |
lsof(list open files)
是一个列出当前系统打开文件的工具,在linux环境下,任何事物都以文件的形式存在。通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议(TCP)、用户数据报协议(UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符。
无论这个文件的本质如何,该文件描述符(FD)为应用程序与基础操作系统之间的交互提供了通用接口,因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof
能够查看这个列表对系统监测以及排错很有帮助。
通过 lsof
命令我们得到占用进程的应用程序对应的 pid
,然后就是如何杀死进程:
1 |
kill 11649 |
from:https://blog.csdn.net/zwkkkk1/article/details/88797044