NAME lsof - list open files 用法 lsof [options] [filename] 常用选项 -c 显示指定进程现在正在打开的文件 -p 显示指定进程号现在正在打开的文件 -g 显示指定gid号进程正在打开的文件 -u 显示指定用户名启动的进程打开的文件 +d 显示指定目录下被进程打开的文件(不包含子目录) +D 显示指定目录下被进程打开的文件(包含子目录) -d 显示指定fd文件描述符的进程 -i [46][proto][@host|addr][:svc_list|port_list]按以上条件获取进程信息 [ipv4|ipv6][tcp|udp][@hostname|ipaddr][/etc/services定义的服务|服务端口port] -U : 获取UNIX套接口地址 -t : 仅获取进程ID -l : 在输出显示用户ID而不是用户名
# 显示系统活跃进程打开的文件 lsof # 显示调用/var/log/messages文件的进程 lsof /var/log/messages # 显示crond进程打开的文件 lsof -c crond # 显示进程号为1328的进程打开的文件 lsof -p 1328 # 显示gid号为1的进程打开的文件 lsof -g 1 # 显示用户root启用的进程打开的文件 lsof -u root # 显示/var/log目录下被进程打开的文件 lsof +d /var/log/ #(不包含子目录) lsof +D /var/log/ #(包含子目录) # 显示文件描述符fd为4的进程打开的文件 lsof -d 4 # 通过[46][proto][@host|addr][:svc_list|port_list]条件匹配进程信息输出 lsof -i tcp:22
磁盘空间不足
Linux中httpd日志文件/httpd/access.log过大导致磁盘空间不足,"rm -f /httpd/access.log"删除了/httpd/access.log文件后,df -h发现磁盘空间仍旧没有释放,通过lsof发现httpd应用仍然占用着/httpd/access.log文件
解决方法:重启应用即可解决/etc/init.d/httpd restart
原文:https://www.cnblogs.com/Caiyundo/p/10401345.html