windows系统中当我们在删除某个文件或文件夹时有时会提示该文件有程序在使用不能被删除,这时相当惆怅。那么可以用这个方法来找到是哪个进程在占用该文件:
- 打开任务管理器选择“性能”
- 单击下部的“资源监视器”
- 选择“CPU”,在下部可以看到“关联的句柄”搜索框
- 在该搜索框中输入要删除的文件名回车,在下面就会列出来占用该文件的进程名,如下图所示。右键该进程单击“结束进程”,就可以删除了。
注释:
(在操作系统界面上所说的)文件和文件夹,其本质在文件系统层次上都是一个文件的形式,所以问“如何查看文件被哪个进程使用”和问查“看文件夹被哪个进程使用”其实是同一个问题。当一个进程占用或叫打开一个文件或文件夹(之后便可读写该文件)时,便有一个文件内核对象被创建,且在该进程地址空间中存在一个该文件内核对象的句柄。上述图片中,cd zzw是表示cmd进程占用或叫打开一个叫zzw的文件夹(即读取zzw文件夹的元数据到内存),之后,若是输入查看该目录下的有哪些文件的命令则表示cmd进程读取zzw文件夹的数据,若是输入添加或是删除zzw文件夹下的文件时表示cmd进程写入zzw文件夹的数据。当一个文件要被关闭(本质上,即文件内核对象要被销毁)之前,其在各个进程地址空间中的引用(的句柄)都要被关闭才可执行文件关闭操作,所以上述图片例子里,若是你在操作系统界面上(具体是,windows资源管理器里)要关闭该zzw文件夹,就得先关闭cmd里对zzw文件夹的引用,否则就会提示“文件夹或者文件正在被使用,操作无法完成”。
————————————————
版权声明:本文为CSDN博主「haiross」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/haiross/article/details/49678655