Saturday, August 7, 2010

How to find what process has loaded a particular DLL. ?

You may hit this when cleaning up Oracle Installation on Windows box.Sometimes it may happen that few files (eg.OCI.DLL) may not get deleted.When you try to delete it says "Access Denied."

As we don't know the process which has loaded this DLL.First we need to find the process and kill it.

Following command can be used to find the process which loads a particular dll.

tasklist /m

Eg..,

C:\Documents and Settings>tasklist /m en-US.dll

Image Name PID Modules
========================= ======
chrome.exe 5976 en-US.dll
chrome.exe 4272 en-US.dll
chrome.exe 2932 en-US.dll
chrome.exe 2488 en-US.dll
chrome.exe 4456 en-US.dll
chrome.exe 3228 en-US.dll
chrome.exe 440 en-US.dll


This way we can find out the specific process and kill them without rebooting the server.

Alternatively,you can use tool like 'unlocker' .But may not be appropriate in production environment.

No comments: