嘘~ 正在从服务器偷取页面 . . .

lsof 查看端口占用


lsof 查看端口占用

lsof 是一个 shell 指令,用于列出当前系统打开的文件。

lsof 查看端口占用的语法格式如下:

lsof -i:[端口号]

在 Linux 上需要 root 权限,而 MacOS 上不需要。

例:查看电脑 4000 端口的占用情况:

% lsof -i:4000
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    64950  qry   42u  IPv6 0x71ca5fa9e8b96e4d      0t0  TCP *:terabase (LISTEN)

可以发现 4000 端口已经被 nodejs 服务占用(其实是我博客的本地调试端口)

输出信息的意义如下:

其他 lsof 的命令如下:

lsof -i:8080        # 查看 8080 端口的占用
lsof abc.txt        # 显示开启文件 abc.txt 的进程
lsof -c abc         # 显示 abc 进程现在打开的文件
lsof -c -p 1234     # 列出进程号为 1234 的进程所打开的文件
lsof -g gid         # 显示归属 gid 的进程情况
lsof +d /usr/local/ # 显示目录下被进程开启的文件,
lsof +D /usr/local/ # 同上,但是会搜索所有子文件夹内的文件
lsof -d 4           # 显示使用 FD 为 4 的进程
lsof -i -U          # 显示所有打开的端口和 UNIX domain 文件

在查到端口占用的进程后,如果你要杀掉对应的进程,可以用以下指令

kill -9 [PID]

文章作者: q779
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 q779 !
评论
  目录