查看文件被哪个进程占用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看文件被哪个进程占用相关的知识,希望对你有一定的参考价值。
应用背景:windows操作系统中,有时我们关闭程序后,一些相关的进程仍在后台运行,并访问着一些文件,使得我们无法对这些文件及其所属的文件夹进行删除、重命名等操作。
此时,如果知道这个文件/文件夹正在被哪个进程使用,就可以用任务管理器结束这个进程,然后就可以对文件进行修改了。(请谨慎决定是否结束关键的、可能会影响系统正常工作的进程。)
查看方法:
1.打开 资源管理器(Ctrl+Shift+Esc)
2.选择 性能 选项卡
3.点击右下角的 资源监视器
4.选择 概述 选项卡
5.选择 “磁盘”
6.在“磁盘”下方弹出的列表中,第三列“文件”就是当前被进程打开的文件。可能需要最大化窗口并手动调整列宽才能看清。
7.表中的第一列 映像 即是打开这个文件的进程名称,可考虑在任务管理器中结束该进程
8.如果有重名的多个进程,以第二列 PID 为准 参考技术A 文件上点右键吧
Linux下查看端口被哪个程序占用
Linux如何查看端口被哪个进程占用的方法,使用工具lsof,netstat:
1.lsof -i: 端口号
lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。
如果系统没有lsof工具,可以通过yum安装之。
yum install lsof
选项:
-a:列出打开文件存在的进程; -c<进程名>:列出指定进程所打开的文件; -g:列出GID号进程详情; -d<文件号>:列出占用该文件号的进程; +d<目录>:列出目录下被打开的文件; +D<目录>:递归列出目录下被打开的文件; -n<目录>:列出使用NFS的文件; -i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip ) -p<进程号>:列出指定进程号所打开的文件; -u:列出UID号进程详情; -h:显示帮助信息; -v:显示版本信息。
例: VM_170_176_sles10_64:~ # lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME mysqld 5103 root 13u IPv4 28776382 TCP *:mysql (LISTEN)
2. netstat -tunlp | grep 端口号
netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
选项:
-a或--all:显示所有连线中的Socket; -A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址; -c或--continuous:持续列出网络状态; -C或--cache:显示路由器配置的快取信息; -e或--extend:显示网络其他相关信息; -F或--fib:显示FIB; -g或--groups:显示多重广播功能群组组员名单; -h或--help:在线帮助; -i或--interfaces:显示网络界面信息表单; -l或--listening:显示监控中的服务器的Socket; -M或--masquerade:显示伪装的网络连线; -n或--numeric:直接使用ip地址,而不通过域名服务器; -N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称; -o或--timers:显示计时器; -p或--programs:显示正在使用Socket的程序识别码和程序名称; -r或--route:显示Routing Table; -s或--statistice:显示网络工作信息统计表; -t或--tcp:显示TCP传输协议的连线状况; -u或--udp:显示UDP传输协议的连线状况; -v或--verbose:显示指令执行过程; -V或--version:显示版本信息; -w或--raw:显示RAW传输协议的连线状况; -x或--unix:此参数的效果和指定"-A unix"参数相同; --ip或--inet:此参数的效果和指定"-A inet"参数相同。
例: VM_170_176_sles10_64:~ # netstat -tunlp | grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 5103/mysqld
以上是关于查看文件被哪个进程占用的主要内容,如果未能解决你的问题,请参考以下文章