"lsof"——list open files,lsof也是Linux下用于查看打开的文件以及相关联进程信息的工具

关于这个报错,原因是因为nodemon已经启动了,占用了一个为3000的端口。接下来我们只要快速找到这个占用3000端口的进程,并终止它就行了。
使用命令
lsof -i:3000

这时我们看到了进程PID,我们终止它就行了
kill 20763
再次启动服务,正常运行
每行显示一个打开的文件,各列含义如下:
COMMAND:与文件关联进程的名称
PID:进程PID
USER:拉起进程的用户
FD:指示进程与文件的关联关系
TYPE:指示文件类型
DEVICE:指示文件所在设备的设备号(major,minor)
SIZE/OFF:指示文件的大小或进程对文件操作的偏移量
NODE:文件索引标识
NAME:文件名
FD列值的含义与fuser查询结果中PID后接字符的含义相同,指示了进程与文件的关联关系,有以下常见取值:
cwd:进程工作目录
txt:进程由该文件拉起(如二进制文件或脚本)
rtd:进程的根目录
mem:内存映射文件
N(u/w/r):指示该文件为进程打开的第N个文件描述符,u为可读可写模式,w为可写模式,r为可读模式
TYPE列有以下常见取值:
REG:一般文件
DIR:目录
CHR:字符设备
BLK:块设备
FIFO:命名管道
PIPE:管道
IPV4:ipv4套接字
unix:unix域套接字
根据以上字段,我们就可以了解到哪个文件以何种关联方式与哪个进程关联。但单执行lsof输出太多,为获取必要输出,我们就得加一些过滤选项。
网友评论