題 如何判斷哪個程序正在使用我的磁盤?


Windows 8拒絕讓我卸載一個說它正在使用的硬盤。

我找不到使用它的程序。

有沒有一個程序會給我一個使用硬盤驅動器的所有程序的列表


11
2017-07-01 05:46


起源




答案:


過程探索者來自Mark Russinovitch的Sysinternals(現在由微軟擁有)可以做到這一點:

在查找菜單中,單擊“查找句柄或DLL ...”

在那裡,鍵入您要查找的內容(例如,在您的情況下, f: 如果這是你想知道哪些程序仍在使用的磁盤名稱

然後它將顯示正在使用包含您正在查找的字符串的句柄或dll的所有進程(例如:包含 f: ,因此列出仍在使用某些東西的所有程序 f: 或者將當前目錄設置在某處 f:

(您可以使用相同的東西來找出哪個進程打開了給定的特定文件,等等)


4
2017-07-01 12:14



+1因為這是一個更具體的答案:找出正在使用的驅動器。 - RolfBly


我建議使用 Windows Sysinternals句柄 獲取所有打開處理程序的列表,因為程序很可能只留下一個打開的處理程序但不使用它。

隨著 處理 你可以看到這個磁盤上打開了什麼。它是一個命令提示程序,只需鍵入“handle”,你可以保存它。

你也可以輸入 handle >> results.txt 將它們保存在results.txt文件中,看起來更容易。

輸出採用以下格式:

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               

3
2017-07-01 07:54



我不知道-1為什麼在這裡。 - Aristos


請嘗試以下步驟:

  1. 下載微軟的 Process Explorer
  2. 打開應用程序
  3. 單擊I / O圖

enter image description here

  1. 將鼠標懸停在磁盤行上

enter image description here

它應該顯示在該磁盤上運行的可執行文件。


1
2017-07-01 06:03



Process Explorer將顯示具有最多磁盤I / O的進程。這是所有光盤上的磁盤I / O,不僅僅是提問者感興趣的磁盤I / O.此外,程序只能在外部磁盤上保持文件打開,從而阻止其被移除,但不能讀取或寫入文件,所以沒有任何磁盤I / O. - Werner Henze
除了Werner的評論:這在Windows術語中稱為“句柄”。見Olivier的回答。 - Zero3