Herhangi Bir İşlem veya SİSTEM Tarafından Kilitlenmiş Bir Dosyanın Kilidini Nasıl Açarsınız?
Bazen Windows'ta bir dosyayı silmeye, yeniden adlandırmaya veya taşımaya çalıştığınızda, dosyanın meşgul/kilitli/başka bir işlem tarafından kullanıldığını belirten bir mesaj görebilirsiniz. Genellikle dosyayı açık tutan programın adı doğrudan Dosya Gezgini mesaj penceresinde gösterilir. Dosyanın kilidini açmak için programı kapatmanız yeterlidir. Ancak, bir dosya veya kitaplığın bilinmeyen veya sistem işlemi tarafından kullanılması meydana gelebilir. O zaman kilidini açmak daha zordur.
Birçok uygulama, dosyaları özel modda açar. Aynı zamanda dosya, diğer uygulamalardan ve işlemlerden giriş-çıkış işlemlerini engelleyen bir dosya sistemi tarafından kilitlenir. Uygulamayı kapatırsanız dosya kilidi açılır.
Bir dosya kilitleme mesajı farklı olabilir. Örneğin, aşağıdaki ekran görüntüsü dosya türünü ve ilişkili olduğu uygulamayı gösterir:
File/Folder in Use. The action can’t be completed because the file is open in another program. Close the folder or file and try again.Ardından, hangi uygulamanın dosyayı kilitlediğini kolayca anlayabilir ve kapatabilirsiniz.
Ancak bazen, bir dosyanın bilinmeyen veya Windows sistem işlemi tarafından kullanıldığına dair daha ilginç bir mesaj görebilirsiniz. Bir Windows işlemi veya bir virüsten koruma uygulaması, bir yedekleme aracısı, bir MSSQL veritabanı vb. gibi Sistem ayrıcalıklarıyla çalışan diğer işlemler olabilir:
The action can’t be completed because the file is open in SYSTEM.
Close the file and try again.Hangi programın, hizmetin veya Windows sistem işleminin bir dosyayı kullandığını, dosyanın kilidinin nasıl açılacağını ve ana işlemi kapatmadan yayınlanıp yayınlanamayacağını bulmaya çalışalım.
Paylaşılan bir ağ klasöründeki bir klasörü silemiyorsanız, sorun muhtemelen klasördeki dosyaların küçük resim önbelleğini içeren thumbs.db ile ilgili olabilir veya dosya SMB dosya sunucunuzdaki başka bir kullanıcı tarafından açılır (kilitlenir).
Dosyanın kilidini açmanın en kolay yolu, dosyayı kilitleyen işlemi sonlandırmaktır. Ancak, özellikle sunucularda her zaman mümkün değildir.
Bir dosyayı kilitleyen bir işlemi bulmak için genellikle Kilit Açıcı aracını kullanmanız önerilir. Bir dosyayı kilitleyen bir işlem veya işlemler zinciri hakkında ayrıntılı bilgi vermediği için Unlocker kullanmıyorum. Bir işlem tarafından kullanılan bir dosyanın kilidini de açamazsınız — bir uygulamayı tamamen sonlandırmanız gerekir.
Ayrıca, üçüncü taraf bir araçtır ve yüklerken çok dikkatli olmalısınız, çünkü ihtiyacınız olmayan bir dizi program yüklemenizi önerir.
Windows'ta bir işlem bir dosyayı açtığında, giriş/çıkış akışına bir dosya tanıtıcısı (tanımlayıcı) atanır. İşlem ve alt işlemleri, işleyiciyi kullanarak dosyaya erişir. Windows API kullanarak, dosya tanıtıcısını serbest bırakmak ve dosyanın kilidini açmak için dosya sisteminize bir sinyal gönderebilirsiniz.
Dosya tutamaçlarını kapanmaya zorlarsanız, uygulamanızın veya bilgisayarınızın dengesiz çalışmasına neden olabilir. Bir uygulamanın dosya tanıtıcısını kapattıktan sonra ne olacağından emin değilseniz, önceden test etmediğiniz sürece bunu bir üretim sunucusunda yapmayın.
Process Explorer Kullanılarak Bir Dosyanın Kilidi Nasıl Açılır?
ProcessExplorer, Microsoft web sitesinden (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer) indirebileceğiniz Sysinternals kitinden ücretsiz bir araçtır. Bir dosyayı kilitleyen bir işlemi bulmaya çalışalım ve işlemin dosya tanıtıcısını sıfırlayarak dosyayı serbest bırakalım.
-
ProcessExplorer'ı kurmanız gerekmez: procexp.exe'yi indirin, ayıklayın ve yönetici olarak çalıştırın;
Bul -> İşlemci veya DLL Bul'u seçin (veya
Ctrl-F);
Kilidini açmak istediğiniz dosya adını belirtin ve Ara'yı tıklayın;
İstediğiniz dosyayı seçin. Dosyayı açan işlem, işlem ağacında vurgulanacaktır. Sağ tıklayın ve işlemi sonlandırmak için İşlem Ağacını Sonlandır 'ı seçin. Ancak, işlemi sonlandırmadan dosya tanıtıcısını kapatmayı deneyebilirsiniz. Aradığınız dosya tanıtıcısı, İşlem Gezgini alt panelinde otomatik olarak vurgulanır. Tutamağı sağ tıklayın ve Tutucu kapat'ı seçin. Dosyayı kapatmayı onaylayın;
Açık işlem tutamaçlarının listesini içeren alt panel İşlem Gezgininizde görüntülenmiyorsa Görünüm -> Alt Bölme Görünümü -> Tutamaçlar seçeneğini etkinleştirin.
Böylece, ana işlemi sonlandırmadan dosya tanıtıcısını kapattınız. Ardından dosyayı kaldırabilir veya yeniden adlandırabilirsiniz.
Tutamaç Aracını Kullanarak Dosya Tanıtıcısı Nasıl Serbest Bırakılır?
Handle, Sysinternals'ın başka bir komut satırı aracıdır (Microsoft web sitesinden indirebilirsiniz: https://docs.microsoft.com/en-us/sysinternals/downloads/handle). Dosyanızı kilitleyen bir işlemi bulmanızı ve kolu serbest bırakarak kilidi açmanızı sağlar.
-
Handle arşivini indirin ve çıkarın;
Komut istemini yönetici olarak açın ve aşağıdaki komutu çalıştırın:
handle64.exe > listproc.txtBu komut, açık tanıtıcıların listesini bir txt dosyasına kaydeder. Değiştirmek istediğiniz dosyanın bulunduğu bir dizine ilişkin tanıtıcıları görüntüleyebilirsiniz:
Handle64.exe -a “C:\Program Files\App”veya belirli süreç için:
handle64.exe -p excel.exelistproc.txt dosyasını herhangi bir metin düzenleyicide açın ve kilitli dosyanın adını içeren satırı bulun. ID dosya tanıtıcısını kopyalayın (onaltılık biçimde). Ardından tanıtıcıya sahip olan işlemin gösterildiği bölüme gidin ve kimliğini yazın. Sistem olarak çalışan bir işlemin PID 4 olması muhtemeldir.
Bazı Windows sistem işlemleri için, handle.exe aşağıdaki mesajı verir:
wininit.exe pid: 732 \<unable to open process>. Bu sistem işlemleri hakkında herhangi bir bilgi alamayacağınız anlamına gelir (yönetici olarak bile). Bu tür işlemlerle dosya tanıtıcılarını açmak için, cmd.exe'yi Sistem olarak çalıştırın ve tanıtıcıların listesini yeniden almayı deneyin.
Ardından komut istemine geri dönün ve dosya tanıtıcısını HandleID ve ProcessID ile sıfırlayın. Komut aşağıdaki biçime sahiptir:
handl64e.exe -c HandleID -p ProcessIDÖrneğin:
handl64e.exe -c 18C -p 18800Araç, işlem için dosyanın kapatılmasını onaylamanızı isteyecektir. basarak onaylayın
y -> enter
Sistem dosyanın kapanmasına doğru tepki verirse, işlemi sonlandırmadan veya sunucunuzu/bilgisayarınızı yeniden başlatmadan dosyanızın kilidini açmış olursunuz.






