Windows'ta Bir Dosyayı Kilitleyen İşlem Nasıl Belirlenir

How Identify Process That Has Locked File Windows

dosyaları aç

Bir işlem tarafından kullanımda olan bir dosya veya klasörü silmeye çalıştığınızda, Kullanımdaki Dosya iletişim kutusu dosyayı kilitleyen programın adını gösteren görünür.



Ancak, 'Dosya Kullanımdaki' iletişim kutusunun, silmeye çalıştığınız dosyada kilidi olan işlemin adını göstermediği durumlar vardır. Bazı durumlarda, iletişim kutusunda 'dosya şurada açık olduğundan işlem tamamlanamıyor başka bir süreç '.



Dosyayı Hangi İşlemin Kilitlediğini Bulun



İşlemleri ve kilitli dosyaları araştırmak için, Windows Sysinternals Process Explorer muhtemelen çoğu kullanıcı için akla gelen ilk seçenektir. Ancak, iki tane var yerleşik çözümler mevcut açık dosya listesini karşılık gelen işlem adlarıyla birlikte görüntülemek için.

Aşağıdakileri kullanarak hangi işlemin bir dosyayı kilitlediğini bulun:

  1. Kaynak İzleyicisi (resmon.exe)
  2. Microsoft Sysinternals'dan Process Explorer
  3. Microsoft Sysinternals'dan yönetin
  4. Openfiles.exe yerleşik konsol aracı
  5. Nirsoft.net'ten OpenedFilesView (3. taraf)

1. Kaynak İzleme

Kaynak Monitörü (resmon.exe), birçok kullanışlı özelliğe sahip yerleşik bir araçtır. Kaynak İzleme ile şunları yapabilirsiniz: mevcut ağ ve internet kullanımını takip edin , ilişkili tutamaçları görüntüle kilitli dosyalar Görev Yöneticisini kullandığınız gibi işlemleri yönetmenin yanı sıra.



Kilitli bir dosyanın bulunduğu işlem adını bulmak için CPU sekmesine tıklayın, Dosya adını veya bir kısmını İlişkili Tutamaçlar metin kutusuna yazın.

Dosyayı Hangi İşlemin Kilitlediğini Bulun

Resource Monitor'ü daha önce ele almıştık. Şu makalelere göz atın:

2. İşlem Gezgini

Süreç araştırmacısı tanıtıma gerek yok. İşlem Gezgini'nde yapmanız gereken tek şey Bul özelliğini kullanmak ve dosya adını yazmaktır. Bu, dosyaya erişen işlemi gösterir.

Dosyayı Hangi İşlemin Kilitlediğini Bulun

Alt bölme görünümünden, gerekirse dosya tutamacını kapatabilirsiniz.

Yükseltilmiş olarak çalışan işlemleri yönetmek için Process Explorer'ı yönetici olarak çalıştırmalısınız. İşlem Gezgini'ni yükseltmek için Dosya menüsünü tıklayın → Tüm Süreçlerin Ayrıntılarını Göster .

Process Explorer ile ilgili şu makalelere göz atın:

3. Windows Sysinternals'dan işleyin

Üstesinden gelmek sistemdeki herhangi bir işlem için açık tutamaçlar hakkında bilgi görüntüleyen Microsoft Sysinternals yardımcı programıdır. Bir dosyası açık olan programları veya bir programın tüm tanıtıcılarının nesne türlerini ve adlarını görmek için kullanabilirsiniz. Handle, bir komut satırı sürümü gibidir. Süreç araştırmacısı .

Not: V4.21 tutamacında bir küçük böcek sürücü harfi büyükse her zaman 'Eşleşen tutamaç bulunamadı' raporunu verir. Umarım Microsoft bunu bir sonraki güncellemede düzeltir.

Bir yönetici Komut İstemi penceresinde, dosyanın açık olduğu işlemi bulmak için komut satırı sözdizimini kullanın:

handle.exe -a -u dosyaadı_with_path

Dosya adı boşluklar içeriyorsa, çift tırnak içine alın.

Misal:

handle.exe -a -u 'c:  users  ramesh  desktop  Mandate-form.pdf'

hangi süreç kilitli dosyayı bul - sysinternals handleyi

(Yol olmadan dosya adından bahsetmek her durumda işe yaramayabilir. Her zaman tam yolu eklemeniz önerilir.)

Çıktı, işlem adını, işlem tanımlayıcısını, kullanıcı adını, kilitli (hedef) dosya adını yolla birlikte gösterir.

Sysinternals Tanıtıcısı: Komut satırı bağımsız değişkenleri

kullanım: tutamak [[-a [-l]] [-u] | [-c [-y]] | [-s]] [-p |] [ad] [-nobanner]
-e Tüm tanıtıcı bilgilerini boşaltın.
-l Yalnızca sayfa dosyası destekli bölüm tutamaçlarını gösterin.
-c Belirtilen tutamacı kapatır (onaltılık sayı olarak yorumlanır).
İşlemi PID'si ile belirtmelisiniz. UYARI: Kapatma tutamaçları uygulama veya sistem kararsızlığına neden olabilir.
-ve Yakın tanıtıcı onayı için istemde bulunmayın.
-s Her tutamaç tipinin baskı sayısı açık.
-u Tutamaçları ararken sahip olan kullanıcı adını gösterin.
-p İşleme ait döküm tutamaçları (kısmi ad kabul edildi).
isim (Parça kabul edildi) ile nesnelerin tutamaçlarını arayın.
-nobanner Başlangıç ​​başlığını ve telif hakkı mesajını görüntülemeyin.

Hiçbir argüman tüm dosya referanslarını dökmez.

Sağ tıklama menüsüne Sysinternals Handle ekleyin

Dosyayı kilitleyen programı hızlı bir şekilde bulmak için dosyalar için sağ tıklama menüsüne Sysinternals Tanıtıcısı ekleyebilirsiniz. İçerik menüsüne eklemek için şu adımları izleyin:

  1. İndir Üstesinden gelmek Microsoft Sysinternals sitesinden.
  2. Dosyaları kopyalayın handle.exe & handle64.exe bir klasöre - ör. d: araçlar
  3. Aşağıdaki kod satırlarını Not Defteri'ne kopyalayın ve dosyayı find_handle.vbs kalıcı bir yere.
    'Dosya adı bağımsız değişkeniyle Sysinternals Handle.exe yardımcı programını çalıştırır. '© Ramesh Srinivasan - https://winhelponline.com/blog' Oluşturulma Tarihi: 29 Mart 2008 'Güncellenme Tarihi: 11 Haz 2019' Windows 10 Seçeneği dahil tüm Windows sürümleri için Açık Dim objShell, WshShell, objFSO, sBaseKey, sFilename Set objShell = CreateObject ('Shell.Application') Set WshShell = CreateObject ('WScript.Shell') Set objFSO = CreateObject ('Scripting.FileSystemObject') WScript.Arguments.Count = 0 ise sBaseKey = 'HKCU  Software  Classes  *  shell  'WshShell.RegWrite sBaseKey &' FindHandle  ',' Find Handle ',' REG_SZ 'WshShell.RegWrite sBaseKey &' FindHandle  command  ',' wscript.exe '&' '' '& _ WScript.ScriptFullName & '' '' & '' & '' '' & '% 1' & '' '', 'REG_SZ' Aksi takdirde objFSO.FileExists (WScript.Arguments (0)) = True Then sFilename = lcase (WScript.Arguments (0)) objShell.ShellExecute 'cmd.exe', '/kd:	oolshandle.exe -a -u' & _ '' '' & sFilename & '' '', '', ' runas ', 1 End If End If

    Not: Sysinternals Handle.exe yolu şu şekilde sabit kodlanmıştır: d: tools handle.exe yukarıdaki komut dosyasında. Program farklı bir yolda bulunuyorsa, komut dosyasındaki yolu uygun şekilde değiştirin. 64 bit Windows için ikisinden birini kullanabilirsiniz handle.exe veya handle64.exe

  4. Çift tıklama find_handle.vbs kayıt defterine bağlam menüsü girişi eklemek için. Bunu yalnızca bir kez yapmanız gerekecek. Ancak, komut dosyasını farklı bir klasöre taşırsanız, kayıt defterindeki yolu güncellemek için yeniden çift tıklamanız gerekir.
  5. Göreceksin Sap Bul seçeneği bir dosyaya sağ tıkladığınızda. Üzerine tıklamak, dosyanın kilitli olduğu işlemi bulmak için sırasıyla handle.exe'yi dosya adı argümanıyla çalıştıran komut dosyasını başlatır.

    hangi süreç kilitli dosyayı bul - sysinternals handleyi

Kaldırmak için Sap Bul bağlam menüsü girişi, Kayıt Defteri Düzenleyicisi'ni başlatın ( regedit.exe ) ve aşağıdaki anahtarı silin:

HKEY_CURRENT_USER  Yazılım  Sınıflar  *  shell  FindHandle

4. OpenFiles.exe - yerleşik bir konsol aracı

Kullanacağımız diğer bir yerleşik araç, Windows için yeni olmayan bir konsol aracı olan Openfiles.exe'dir. İlk olarak 2000 yılında Windows Kaynak Seti 2000/2003 araçlarının bir parçası olarak tanıtıldı. Bu yardımcı program daha sonra varsayılan olarak Windows Vista ve sonraki sürümlere (Windows 10 dahil) eklenmiştir. Openfiles, Tutamaç Kimliği ve İşlem yürütülebilir adıyla birlikte yerel veya paylaşılan klasörlerden o anda açık olan dosya listesini görüntüler. Bu araç ayrıca, paylaşılan bir klasörden uzaktan açılan bir veya daha fazla dosyanın bağlantısını kesmenize de olanak tanır.

İlk kez 'Nesne Listesini Koru' global bayrağını etkinleştirin

İlk olarak, yerel dosya tanıtıcılarının izlenmesini etkinleştirmek için, yönetici Komut İstemi'nden aşağıdaki komutu çalıştırarak 'nesne listesini koru' bayrağını açmanız gerekir.

openfiles / local on

Aşağıdaki mesajı göreceksiniz:

BİLGİ: Sistem global bayrağı 'nesne listesini koru' şu anda etkindir.

Bu komutu yalnızca ilk kez çalıştırmanız gerekecek. Ardından değişikliğin etkili olması için Windows'u yeniden başlatın.

Açık dosyaları ve ilgili işlem adlarını görüntüleyin

Windows'u yeniden başlattıktan sonra yönetici Komut İstemi pencere, yazın:

dosyaları aç

Bu, Dosya / Tanıtıcı Kimliği, İşlem Adı ve yerel olarak açılan veya yerel paylaşım noktaları aracılığıyla uzaktan açılan dosyaların listesini bir tablo formatında listeler.

Çıkışı Liste veya CSV formatlarında görüntülemek için / query parametresini kullanın.

openfiles / query / FO LIST openfiles / query / FO CSV

Çıkışı panoya kopyalamak için, çıktıyı aşağıdaki gibi Clip.exe'ye aktarın. Ardından çıktıyı Not Defteri'ne veya seçtiğiniz başka bir düzenleyiciye yapıştırın.

açık dosyalar | klip

Dosyayı Hangi İşlemin Kilitlediğini Bulun

openfiles / query / FO LIST | clip openfiles / query / FO CSV | klip

Dosyayı Hangi İşlemin Kilitlediğini Bulun

Komut İstemi çıktısını panoya kopyalama veya çıktıyı bir dosyaya kaydetme hakkında daha fazla bilgi için makaleye göz atın. Komut İstemi Çıktı Metnini Panoya Kopyalama veya Dosyaya Kaydetme

Belirli bir dosyanın bir program tarafından kullanılıp kullanılmadığını bulmak (ve hangi programın kullanıldığını öğrenmek) için aşağıdaki komut satırını kullanabilirsiniz.

açık dosyalar | findstr / i

Misal:

açık dosyalar | findstr / i eiffel

Yukarıdaki komut, dosya adında 'eiffel' kelimesini içeren tüm açık dosyaları listeler. Bu örnekte, Word 2016 şu anda 'Eyfel Kulesi.docx' (ID 4576) dosyası üzerinde kilit kullanıyor.

Dosyayı Hangi İşlemin Kilitlediğini Bulun

Ve 'Dosya Kullanımdaki' iletişim kutusu da bana aynı şeyi söylüyor.

Dosyayı Hangi İşlemin Kilitlediğini Bulun

Paylaşılan klasörden uzaktan açılan dosyaların bağlantısını kesin.

Paylaşılan klasörden açılan dosyaların bağlantısını kesmek, böylece dosyayı silebilmek, yeniden adlandırmak veya içeriğini değiştirmek için, / bağlantıyı kes Bu dosyaya bağlantıları kesmek için parametre. İşte komut satırı seçenekleri.

OPENFILES / Bağlantıyı kes [/ S sistemi [/ U kullanıcı adı [/ P [şifre]]]] {[/ KIMLIK kimliği] [/ Erişilen] [/ O openmode]} [/ OP openfile] Açıklama: Bir yöneticinin dosyaların bağlantısını kesmesini sağlar ve paylaşılan bir klasör aracılığıyla uzaktan açılan klasörler. Parametre Listesi: / S system Bağlanılacak uzak sistemi belirtir. / U [etki alanı ] kullanıcı Komutun çalıştırılması gereken kullanıcı bağlamını belirtir. / P [parola] Verilen kullanıcı içeriği için parolayı belirtir. / ID id Dosya kimliğine göre açık dosyaların bağlantısının kesileceğini belirtir. '*' Joker karakteri kullanılabilir. / A erişilen Tüm açık dosyaların bağlantılarının 'erişilen' değeriyle kesilmesini belirtir. '*' Joker karakteri kullanılabilir. / O openmode Tüm açık dosyaların bağlantısının 'openmode' değeri ile kesileceğini belirtir. Geçerli değerler Okuma, Yazma veya Okuma / Yazmadır. '*' Joker karakteri kullanılabilir. / OP openfile Belirli bir 'açık dosya' adıyla oluşturulan tüm açık dosya bağlantılarının kesilmesini belirtir. '*' Joker karakteri kullanılabilir. /? Bu yardım mesajını görüntüler. Örnekler: OPENFILES / Bağlantıyı Kes /? OPENFILES / Disconnect / ID 1 OPENFILES / Disconnect / A kullanıcı adı OPENFILES / Disconnect / O OpenFILES Oku / Yaz / Disconnect / OP 'c:  My Documents  somedoc.doc' / ID 234 OPENFILES / Disconnect / S system / U kullanıcı adı / ID 5 OPENFILES / Disconnect / S sistemi / U kullanıcı adı / P şifresi / ID *

Openfiles.exe, tüm açık dosyaları işlem adlarıyla birlikte listeleme işini mükemmel bir şekilde yapar, ancak işlemleri zorla öldüremez. Bununla birlikte, bu mükemmel (ancak gözden kaçan) yerleşik konsol aracı, bir dosya kullanan bir işlem adını hızlı bir şekilde bulmak istediğinizde veya bir ağ kullanıcısı tarafından paylaşılan bir klasör aracılığıyla erişilen bir dosyanın bağlantısını kesmek istediğinizde kullanışlı olabilir. üçüncü taraf bir çözümde.

5. OpenedFilesView

OpenedFilesView Nirsoft'tan, sisteminizdeki tüm açık dosyaların listesini görüntüler. Açılan her dosya için ek bilgiler görüntülenir: işleme değeri, okuma / yazma / silme erişimi, dosya konumu, dosyayı açan işlem ve daha fazlası… İsteğe bağlı olarak, bir veya daha fazla açık dosyayı kapatabilir veya bu dosyaları açtı.

Dosyayı Hangi İşlemin Kilitlediğini Bulun

Seçili dosyaların işlemlerini veya seçili dosya tanıtıcılarını kapatabilirsiniz. Tanıtıcı numarası onaltılık değerlerle temsil edilirken, openfiles.exe konsol aracı bunu normal biçimde gösterir. Bu araç ayrıca, şu anda bir dosya kullanan işlemi sağ tıklama menüsü aracılığıyla hızlı bir şekilde bulmanız için bir bağlam menüsü seçeneği eklemenize olanak tanır. Bağlam menüsü seçeneği / komut satırı desteğinin, OpenedFilesView tarafından sunulan en kullanışlı özelliklerden biri olduğunu düşünüyorum.


Küçük bir istek: Bu gönderiyi beğendiyseniz, lütfen paylaşın?

Sizden 'küçük' bir paylaşım, bu blogun büyümesine ciddi şekilde yardımcı olacaktır. Bazı harika öneriler:
  • İğnele!
  • En sevdiğiniz blog + Facebook, Reddit ile paylaşın
  • Cıvılda!
Desteğiniz için çok teşekkür ederim okuyucum. Zamanınızın 10 saniyesinden fazlasını almayacaktır. Paylaşma düğmeleri hemen aşağıda. :)