題:
Windows程序,用於查看哪個程序正在使用文件
Gibby
2014-02-05 09:31:43 UTC
view on stackexchange narkive permalink

通常,在Windows計算機上,當我去刪除或移動目錄或文件時,會出現一條錯誤消息,說明該操作無法完成,因為其中一個文件正在被另一個程序使用。

是否有一個程序可以讓我針對給定的文件找出正在使用的程序並結束該程序?

當我使用MS-Windows時,我發現大多數時候都是Windows資源管理器鎖定了文件。我發現Windows資源管理器將自己描述為另一個進程很奇怪。
有人應該為資源監視器添加一個答案,可以通過任務監視器的“性能”選項卡輕鬆提出該答案(即無需安裝任何額外的功能)。它允許您搜索文件名並查找具有鎖定名的進程。我現在正在工作,沒有時間給它應有的答案。
答案中的三個為何指向Russinovich SysInternals工具,而第四個指向廣告軟件?
嗨,吉比,如果您發現這些答案中的任何一個有幫助,請選中它們旁邊的對勾符號,將其標記為已接受。謝謝!
六 答案:
#1
+82
Steve Barnes
2014-02-05 13:32:33 UTC
view on stackexchange narkive permalink

我經常使用 Process Explorer(Microsoft免費提供)來準確執行您要執行的任務,您可以搜索使用給定文件的程序/任務或目錄,然後殺死程序或程序樹。您甚至可以找到一個已鎖定給定文件的DLL,然後查找並殺死正在使用該DLL的那些程序。

Process Explorer Main Window

許多其他有用的信息。 System Information

非常感謝,最後殺死了持久性ehmsas.txt文件。效果很棒,我只需要找到搜索按鈕(它是工具欄中的雙筒望遠鏡圖標)
@David-很高興為您提供幫助,這是我在新Windows機器上安裝的第一批程序之一。
-1
@Pacerier-儘管它確實提到了其他程序,例如Process Explorer,但它確實遺漏了許多其他事情:a)您可以簡單地通過殺死正在使用該DLL的所有進程來強制DLL卸載,b)您可以帶來每個程序在殺死文件之前將文件打開到最前面,以確保可以安全殺死它-沒有丟失的保存c)**我從不考慮推薦/發布任何已知包含惡意軟件​​/廣告軟件的東西**
@SteveBarnes,關於* A點,“ Dll卸載”是否與“強制殺死”相同?另外,您必須詳細說明* point C *。解鎖程序是惡意軟件嗎?
答:不完全是-如果在使用某個DLL的一個或多個程序仍在運行的情況下卸載DLL,則該DLL將被加載,否則程序將變得不穩定。 C:請參閱Winterbloods回答有關解鎖程序**的問題。
#2
+29
Ken Herbert
2014-02-05 09:35:24 UTC
view on stackexchange narkive permalink

嘗試解鎖

它將在文件的右鍵菜單中創建一個條目,該條目將向您顯示正在訪問文件的進程的列表,通過該列表,您可以然後分離該過程(或在需要時將其完全殺死)。

我定期使用Unlocker來幫助我安全地彈出USB驅動器,該驅動器希望保持手柄處於打開狀態,並且經常起到幫助作用。我發現的唯一弊端(這可能與Unlocker本身無關,但是對於保持句柄打開的程序而言)是,大多數情況下,簡單地分離進程是行不通的,我必須徹底殺死它。 / p>

雖然有許多功能更強大的程序可以執行與Unlocker相同的功能,但出於釋放文件句柄的目的,這是我發現可以更快,更一致地工作的程序。 / p>

注意:請注意,Unlocker在安裝過程中包含潛在的惡意 廣告軟件,並使用了 OpenCandy安裝程序中的廣告模塊。如果您在安裝過程中保持謹慎,請閱讀顯示給您的每個對話框,然後取消選擇聽起來似乎不是Unlocker一部分的任何內容,則可以輕鬆避免在系統上安裝任何惡意軟件。

下圖顯示了由於OpenCandy模塊而收到的對話框,在該對話框中,我已經選擇“高級”並取消選中“安裝Delta工具欄”複選框:

Delta Toolbar installer

@DanteTheEgregore我認為只是顯示廣告軟件的安裝程序,而不是Unlocker程序本身。如果在安裝過程中單擊右按鈕,是否還會獲得廣告軟件?
@DanteTheEgregore感謝您的警告。老實說,直到今天我才知道安裝程序中潛在的惡意軟件。我從未使用過安裝程序,但始終從可執行文件中手動提取必要的文件,以將其放置在可移植的程序包中。我已經編輯了答案,以顯示如何避免安裝程序中潛在的惡意軟件。
解鎖程序適用於Windows 8嗎?即使我打開文件,它也會一直告訴我“未找到鎖定句柄”。
@ValekHalfHeart我不確定是否抱歉,並且沒有Windows 8 PC可以對其進行檢查。官方站點和CNET都將操作系統列為Windows 7以下版本,但其他下載站點(包括windows8downloads.com)也將其列為Windows 8兼容版本。
#3
+23
laggingreflex
2014-06-03 08:46:27 UTC
view on stackexchange narkive permalink

LockHunter是另一個很棒的免費工具。

下載鏈接

+1你擊敗了我。它不僅可以執行此處要求的操作,而且還比其他“文件解鎖器”更好地工作。強烈推薦。我已經嘗試過了,每隔幾個月重試一次,這仍然是多年來最好的
-1
@Pacerier有趣的比較。在那些我認為我只關心“卸載DLL”檢查的對像中,其餘的對我來說似乎微不足道。我還認為該表也可能已過時,因為應該檢查“ With reboot”,因為LockHunter確實具有“下次啟動時刪除”選項。無論如何,我選擇LockHunter而不是Unlocker的主要原因是Unlocker在Windows 8上不起作用。我不知道現在是否可以使用,但是在下載部分,它仍然沒有特別提到Windows 8。
@laggingreflex,“卸載DLL”實際上到底是什麼意思?
DLL是通過rundll.exe之類的程序加載的,我認為這意味著將其卸載。
如果這是當前唯一用途,它將卸載它們。 Windows會使用每個DLL保持進程的運行計數,並且僅在最後一個進程退出時才從emery中清除它們。
#4
+13
Journeyman Geek
2014-02-08 11:26:09 UTC
view on stackexchange narkive permalink

稍加修飾,sysinternals的進程監視器將執行此操作。唯一真正的問題是信息量太多–您應該使用過濾器,但最後我僅將顯示的信息限制為文件系統活動,並通過搜索確切的文件名來查看正在使用什麼程序(在本文件中

與任何sysinternals軟件一樣,它的小巧,可移植的功能完全符合其在網上所說的內容-實際上,它除了監視文件系統,註冊表之外,沒有其他功能。 ,網絡和流程活動。考慮到所需的訪問級別,它需要以admin / undergo UAC升級的方式運行。

它不會讓您直接解鎖文件,但會顯示wnat正在使用它,並且您可以正確殺死父進程以撤消鎖定。

enter image description here

您能否添加一些有關此工具其他功能的詳細信息?為什麼您覺得它有用,可能會有什麼缺點等?
當我因找不到文件而死於進程時,此工具很棒。沒有這個我就無法確定它要尋找的文件(例如,進程瀏覽器或資源監視器向您顯示進程已鎖定的文件,而不是進程找不到的文件)。有了它,解決起來相當容易,因為它記錄了實際查找文件的嘗試。一旦知道了找不到的文件,便可以解決問題。
#5
+11
n611x007
2014-04-17 11:25:06 UTC
view on stackexchange narkive permalink

句柄是一種由Microsoft託管的命令行工具。它由現在由Microsoft擁有的 Sysinternals編寫。您可以為其指定文件或目錄名稱(或任何“ 句柄”),並顯示程序的exe和進程ID(PID)。您可以給它部分文件名,即。

基本用法:

 句柄c:\ movie.mp4  

將打印其標題,然後像

  vlc.exe pid:1256類型:文件1EC:c:\ movie.mp4  

用法使用 handle -h打印

一種方便的使用方式是列出筆式驅動器中打開的文件。如果您的筆是 D:,則可以運行 D:,它會打印出使用驅動器的程序和文件。


腳本註釋

首次使用時要求GUI提供EULA。曾經有一個 -accepteula 參數似乎不適用於所有最新版本。該值存儲在dword HKEY_CURRENT_USER \ Software \ Sysinternals \ Handle \ EulaAccepted 中。通過添加

  REG添加“ HKCU \ Software \ Sysinternals \ Handle” / v EulaAccepted / t REG_DWORD / d 1 / f  
,您可以具有與接受相同的效果。

Microsoft網站上還有許多其他有趣的 sysinternals實用程序

我要[386](https://en.wikipedia.org/wiki/Intel_80386)點的那一天。 80386再見!
#6
  0
Navin
2018-09-20 01:27:30 UTC
view on stackexchange narkive permalink

Process Hacker做到了:

功能
-突出顯示系統活動的詳細概述。
-圖形和統計信息使您可以快速跟踪資源消耗和失控的過程。
-無法編輯或刪除文件?查找正在使用該文件的進程。
-查看哪些程序具有活動的網絡連接,並在必要時關閉它們。
-獲取有關磁盤訪問的實時信息。
-查看詳細的堆棧具有內核模式,WOW64和.NET支持的跟踪。
-超越services.msc:創建,編輯和控制服務。
-體積小,可移植且無需安裝。
-100%免費軟件( GPL v3)

https://github.com/processhacker/processhacker



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...