
参考资料lsofコマンド入門目录零. 前期准备一. 简介二. 查看占用指定的文件的进程三. lsof -i :端口号 ⇒ 查找占用指定端口号的进程和服务四. lsof -p ⇒ 查看指定的进程所打开的文件五. lsof -u ⇒ 查看指定用户所打开的文件零. 前期准备⏹准备一个shell脚本并执行apluserubuntu24-01:~/work/20250413$cattest.sh#!/usr/bin/env bashsleep2000echo{a,b,5}_01.txt apluserubuntu24-01:~/work/20250413$ apluserubuntu24-01:~/work/20250413$bashtest.sh一. 简介lsof命令主要用来列出当前系统打开的文件查看文件被哪个进程占用⏹基本语法lsof[选项][文件/目录]二. 查看占用指定的文件的进程可以看到test.sh的文件被109774的进程所占用apluserubuntu24-01:~$lsof/home/apluser/work/20250413/test.sh COMMAND PIDUSERFD TYPE DEVICE SIZE/OFF NODE NAMEbash109774apluser 255r REG252,054397202/home/apluser/work/20250413/test.sh三.lsof -i :端口号⇒ 查找占用指定端口号的进程和服务apluserubuntu22-1:~$lsof-i:9090 COMMAND PIDUSERFD TYPE DEVICE SIZE/OFF NODE NAMEjava15316apluser 9u IPv62684130t0 TCP *:9090(LISTEN)apluserubuntu22-1:~$ apluserubuntu22-1:~$ps-ef|grep[1]5316apluser153164575608:34 pts/0 00:00:48java-jar/usr/share/java/jenkins.war--httpPort9090apluserubuntu22-1:~$四.lsof -p⇒ 查看指定的进程所打开的文件apluserubuntu24-01:~$lsof-p109774COMMAND PIDUSERFD TYPE DEVICE SIZE/OFF NODE NAMEbash109774apluser cwd DIR252,04096397201/home/apluser/work/20250413bash109774apluser rtd DIR252,040962/bash109774apluser txt REG252,01446024512/usr/bin/bashbash109774apluser mem REG252,03055776719/usr/lib/locale/locale-archivebash109774apluser mem REG252,0212532834145/usr/lib/x86_64-linux-gnu/libc.so.6bash109774apluser mem REG252,020832812513/usr/lib/x86_64-linux-gnu/libtinfo.so.6.4bash109774apluser mem REG252,02702834134/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cachebash109774apluser mem REG252,023661634142/usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2bash109774apluser 0u CHR136,00t03/dev/pts/0bash109774apluser 1u CHR136,00t03/dev/pts/0bash109774apluser 2u CHR136,00t03/dev/pts/0bash109774apluser 255r REG252,054397202/home/apluser/work/20250413/test.sh五.lsof -u⇒ 查看指定用户所打开的文件apluserubuntu24-01:~$lsof-uapluser|greptestbash109774apluser 255r REG252,054397202/home/apluser/work/20250413/test.sh