How to tell which program is using my disk?
Solution 1:
process explorer, from Mark Russinovitch Sysinternals (now owned by Microsoft) can do this:
in the Find menu, click "Find Handle or DLL..."
in there, type what you are looking for (in your case, for example, f:
if that is the name of the disk you wish to know which program(s) is(are) still using)
it will then display all the processes that are using a handle or dll containing the string you were looking for (ex: containing f:
, thus listing all programs still using something on f:
or having their current directory set somewhere on f:
)
(You can use the same thing to find out which process has open a given specific file, etc. )
Solution 2:
I suggest to use the Windows Sysinternals Handle to get a list of all open handlers because is very possible a program have left one open handler but not use it.
With the handle you can see what is open on this disk. Its a command prompt program, just type "handle" where you save it and thats all.
You can also type handle >> results.txt
to save them on results.txt file and look them more easy.
The output is on this format:
Handle v3.46
Copyright (C) 1997-2011 Mark Russinovich
Sysinternals - www.sysinternals.com
------------------------------------------------------------------------------
System pid: 4 NT AUTHORITY\SYSTEM
934: File (---) C:\Documents and Settings\SQL_User\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
938: File (---) C:\Documents and Settings\SQL_User\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat.LOG
93C: File (---) C:\Documents and Settings\SQL_User\NTUSER.dat.LOG
948: File (---) C:\Documents and Settings\SQL_User\NTUSER.DAT
Solution 3:
Try these steps:
- Download Microsoft's Process Explorer
- Open the application
- Click on the I/O graph
- Mouse over your disk row
It should show you the executable running on that disk.