Cara Mengidentifikasi Proses yang Mengunci File di Windows

Ketika Anda mencoba untuk menghapus file atau folder yang sedang digunakan oleh suatu proses, dialog File In Use muncul yang menunjukkan nama program yang telah mengunci file tersebut.

Namun, ada kasus di mana dialog "File In Use" tidak menunjukkan nama proses yang memiliki kunci pada file yang Anda coba hapus. Dalam beberapa kasus, dialog akan menampilkan "tindakan tidak dapat diselesaikan karena file terbuka di" proses lain“.

Temukan Proses Yang Telah Mengunci File

Untuk menyelidiki proses dan file yang dikunci, Windows Sysinternals Process Explorer mungkin merupakan opsi pertama yang muncul di benak sebagian besar pengguna. Namun, ada dua solusi bawaan untuk menampilkan daftar file yang terbuka saat ini bersama dengan nama proses yang sesuai.

Temukan proses mana yang telah mengunci file menggunakan:

  1. Monitor Sumber Daya (resmon.exe)
  2. Proses Explorer dari Microsoft Sysinternals
  3. Menangani dari Microsoft Sysinternals
    • Temukan pegangan file melalui menu klik kanan
  4. Alat konsol bawaan Openfiles.exe
    • Aktifkan pelacakan pegangan file lokal
    • Lihat file yang terbuka dan nama proses yang sesuai
    • Putuskan sambungan file yang dibuka dari folder bersama
  5. OpenedFilesView dari Nirsoft.net (pihak ke-3)

1. Pemantau Sumber Daya

Resource Monitor (resmon.exe) adalah alat bawaan yang memiliki banyak fitur berguna. Dengan Resource Monitor, Anda dapat lacak jaringan dan penggunaan internet saat ini, lihat pegangan terkait untuk file terkunci, serta mengelola proses seperti Anda menggunakan Pengelola Tugas.

Untuk menemukan nama proses yang filenya dikunci, klik tab CPU, ketik nama file atau bagiannya dalam kotak teks Associated Handles.

Temukan Proses Yang Telah Mengunci File

Kami telah membahas Resource Monitor sebelumnya. Lihat artikel ini:

  • Bagaimana Menggunakan Resource Monitor untuk Menemukan Proses Yang Telah Mengunci File?
  • Program Mana yang Menggunakan Semua Bandwidth Internet Anda? Gunakan Resource Monitor untuk Menemukannya

2. Penjelajah Proses

Penjelajah Proses tidak perlu pengenalan. Di Process Explorer, yang perlu Anda lakukan adalah menggunakan fitur Temukan dan ketik nama file. Ini menunjukkan proses yang mengakses file.

Temukan Proses Yang Telah Mengunci File

Dari tampilan panel bawah, Anda dapat menutup pegangan file jika perlu.

Anda harus menjalankan Process Explorer sebagai administrator untuk mengelola proses yang sedang berjalan. Untuk meninggikan Process Explorer, klik menu File → Tampilkan Detail untuk Semua Proses.

Lihat artikel terkait Process Explorer ini:

  • Bagaimana cara menghapus file atau folder yang tidak dapat dihapus yang keras kepala di Windows?
  • Temukan Program Yang Menggunakan Webcam Anda Saat Ini
  • Bagaimana Menemukan Program Yang Menyebabkan Pesan Kesalahan Tidak Dikenal?
  • Apa yang dimaksud dengan Gagal Menghitung Objek dalam Wadah?

3. Menangani dari Windows Sysinternals

Menangani adalah utilitas dari Microsoft Sysinternals yang menampilkan informasi tentang pegangan terbuka untuk setiap proses dalam sistem. Anda dapat menggunakannya untuk melihat program yang memiliki file terbuka, atau untuk melihat jenis objek dan nama semua pegangan program. Pegangan seperti versi baris perintah dari Penjelajah Proses.

Catatan: Menangani v4.21 memiliki serangga kecil di mana ia selalu melaporkan "Tidak ditemukan gagang yang cocok" jika huruf drive dalam huruf besar. Semoga Microsoft memperbaikinya di pembaruan berikutnya.

Dari sebuah Prompt Perintah admin jendela, gunakan sintaks baris perintah untuk menemukan proses yang membuka file:

handle.exe -a -u nama file_with_path

Jika nama file mengandung spasi, sertakan dalam tanda kutip ganda.

Contoh:

handle.exe -a -u "c:\users\ramesh\desktop\Mandate-form.pdf"
temukan proses mana yang terkunci file - sysinternals menangani

(Menyebutkan nama file tanpa jalur mungkin tidak selalu berhasil di setiap situasi. Disarankan untuk selalu menyertakan path lengkap.)

Output menunjukkan nama proses, pengidentifikasi proses, nama pengguna, nama file yang dikunci (target) dengan jalur.

Sysinternals Menangani: Argumen baris perintah

penggunaan: menangani [[-a [-l]] [-u] | [-c [-y]] | [-s]] [-p |] [nama] [-nobanner]
-sebuah Buang semua informasi pegangan.
-l Cukup tunjukkan pegangan bagian yang didukung pagefile.
-C Menutup pegangan yang ditentukan (ditafsirkan sebagai angka heksadesimal).
Anda harus menentukan proses dengan PID-nya. PERINGATAN: Menutup pegangan dapat menyebabkan ketidakstabilan aplikasi atau sistem.
-y Jangan meminta konfirmasi pegangan tutup.
-S Hitungan cetak setiap jenis pegangan terbuka.
-u Tampilkan nama pengguna pemilik saat mencari pegangan.
-P Dump menangani milik proses (nama sebagian diterima).
nama Cari pegangan ke objek dengan (fragmen diterima).
-nobanner Jangan tampilkan banner startup dan pesan hak cipta.

Tidak ada argumen yang akan membuang semua referensi file.

Tambahkan Sysinternals Handle ke menu klik kanan

Anda dapat menambahkan Sysinternals Handle ke menu klik kanan file untuk menemukan program yang mengunci file dengan cepat. Untuk menambahkannya ke menu konteks, ikuti langkah-langkah berikut:

  1. Unduh Menangani dari situs Microsoft Sysinternals.
  2. Salin file menangani.exe & handle64.exe ke folder – mis., d:\alat
  3. Salin baris kode berikut ke Notepad, dan simpan file sebagai find_handle.vbs ke lokasi permanen.
    'Jalankan utilitas Sysinternals Handle.exe dengan argumen nama file. '© Ramesh Srinivasan -- https://winhelponline.com/blog. 'Tanggal Dibuat: 29 Maret 2008. 'Tanggal Diperbarui: 11 Juni 2019. 'Untuk semua versi Windows, termasuk Windows 10 Option Explicit. Redupkan objShell, WshShell, objFSO, sBaseKey, sFilename. Setel objShell = CreateObject("Shell. Aplikasi") Setel WshShell = CreateObject("WScript. Kerang") Setel objFSO = CreateObject("Scripting. FileSystemObject") Jika WScript. Argumen. Hitung = 0 Kemudian sBaseKey = "HKCU\Software\Classes\*\shell\" WshShell. RegWrite sBaseKey & "FindHandle\", "Temukan Pegangan", "REG_SZ" WshShell. RegWrite sBaseKey & "FindHandle\command\", "wscript.exe " & & _ WScript. ScriptFullName & & " " & & "%1" &, "REG_SZ" Lain Jika objFSO.FileExists (WScript. Argumen (0)) = Benar Kemudian sFilename = lcase (WScript. Argumen (0)) objShell. ShellExecute "cmd.exe", "/k d:\tools\handle.exe -a -u " & _ & sFilename &, "", "runas", 1 End If. Berakhir jika

    Catatan: Jalur Sysinternals Handle.exe dikodekan sebagai d:\tools\handle.exe dalam skrip di atas. Jika program terletak di jalur yang berbeda, ubah jalur dalam skrip yang sesuai. Untuk Windows 64-bit, Anda dapat menggunakan menangani.exe atau handle64.exe

  4. Klik dua kali find_handle.vbs untuk menambahkan entri menu konteks di registri. Anda hanya perlu melakukan ini sekali. Namun, jika Anda memindahkan skrip ke folder lain, Anda harus mengklik dua kali lagi untuk memperbarui jalur di registri.
  5. Anda akan melihat Temukan Pegangan pilihan ketika Anda mengklik kanan pada file. Mengkliknya akan meluncurkan skrip yang pada gilirannya menjalankan handle.exe dengan argumen nama file untuk menemukan proses yang mengunci file.temukan proses mana yang terkunci file - sysinternals menangani

Untuk menghapus Temukan Pegangan entri menu konteks, mulai Registry Editor (regedit.exe) dan hapus kunci berikut:

HKEY_CURRENT_USER\Software\Classes\*\shell\FindHandle

4. OpenFiles.exe — alat konsol bawaan

Alat bawaan lain yang akan kami gunakan adalah Openfiles.exe, alat konsol yang bukan hal baru di Windows. Ini awalnya diperkenalkan pada tahun 2000 sebagai bagian dari alat Windows Resource Kit 2000/2003. Utilitas ini kemudian disertakan secara default di Windows Vista dan lebih tinggi (termasuk Windows 10). Openfiles menampilkan daftar file yang sedang dibuka dari folder lokal atau folder bersama, bersama dengan Handle ID dan nama proses yang dapat dieksekusi. Alat ini juga memungkinkan Anda untuk memutuskan satu atau lebih file yang dibuka dari jarak jauh dari folder bersama.

Aktifkan bendera global "Pertahankan Daftar Objek" untuk pertama kalinya

Pertama, untuk mengaktifkan pelacakan pegangan file lokal, Anda perlu mengaktifkan bendera 'maintain objects list' dengan menjalankan perintah berikut dari Admin Command Prompt.

openfiles / lokal aktif

Anda akan melihat pesan berikut:

INFO: Bendera global sistem 'pertahankan daftar objek' saat ini diaktifkan.

Anda harus menjalankan perintah ini untuk pertama kali saja. Kemudian restart Windows agar perubahan diterapkan.

Lihat file yang terbuka dan nama proses yang sesuai

Setelah memulai ulang Windows, dari Prompt Perintah admin jendela, ketik:

file terbuka

Ini mencantumkan ID File/Pegangan, Nama Proses, dan daftar file yang dibuka secara lokal atau dibuka dari jarak jauh melalui titik berbagi lokal, dalam format tabel.

Untuk melihat output dalam format Daftar atau CSV, gunakan parameter /query.

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

Untuk menyalin output ke clipboard, pipa output ke Clip.exe seperti di bawah ini. Kemudian rekatkan output di Notepad atau editor lain pilihan Anda.

file terbuka | klip
Temukan Proses Yang Telah Mengunci File
openfiles /query /FO LIST |clip. openfiles /query /FO CSV |clip
Temukan Proses Yang Telah Mengunci File

Untuk informasi lebih lanjut tentang menyalin output Command Prompt ke clipboard atau menyimpan output ke file, lihat artikel Bagaimana Cara Menyalin Teks Keluaran Command Prompt ke Clipboard atau Menyimpan ke File?

Untuk mengetahui apakah file tertentu sedang digunakan oleh suatu program (dan untuk mengetahui program mana), Anda dapat menggunakan baris perintah berikut.

file terbuka | findstr /i 

Contoh:

file terbuka | findstr /i eiffel

Perintah di atas mencantumkan semua file terbuka yang berisi kata "eiffel" dalam nama file. Dalam contoh ini, Word 2016 sedang mengunci file “The Eiffel Tower.docx” (ID 4576).

Temukan Proses Yang Telah Mengunci File

Dan dialog "File In Use" memberi tahu saya hal yang sama.

Temukan Proses Yang Telah Mengunci File

Putuskan sambungan file yang dibuka dari jarak jauh dari folder bersama.

Untuk memutuskan sambungan file yang dibuka dari folder bersama sehingga Anda dapat menghapus, mengganti nama file, atau mengubah konten, gunakan /disconnect parameter untuk memutuskan koneksi ke file itu. Berikut adalah opsi baris perintah.

OPENFILES /Putuskan [/S sistem [/U username [/P [password]]]] {[/ID id] [/A diakses oleh] [/O openmode]} [/OP openfile] Deskripsi: Memungkinkan administrator untuk memutuskan file dan folder yang telah dibuka dari jarak jauh melalui shared map. Daftar Parameter: /S system Menentukan sistem jarak jauh yang akan dihubungkan. /U [domain\]user Menentukan konteks pengguna di mana perintah harus dijalankan. /P [password] Menentukan kata sandi untuk konteks pengguna yang diberikan. /ID id Menentukan untuk memutuskan file yang terbuka dengan ID file. Wildcard "*" dapat digunakan. /A diakses oleh Menentukan untuk memutuskan semua file yang terbuka dengan nilai "diakses oleh". Wildcard "*" dapat digunakan. /O openmode Menentukan untuk memutuskan semua file yang terbuka dengan nilai "openmode". Nilai yang valid adalah Baca, Tulis atau Baca/Tulis. Wildcard "*" dapat digunakan. /OP openfile Menentukan untuk memutuskan semua koneksi file terbuka yang dibuat oleh nama "file terbuka" tertentu. Wildcard "*" dapat digunakan. /? Menampilkan pesan bantuan ini. Contoh: OPENFILES /Putuskan /? OPENFILES /Putuskan /ID 1 OPENFILES /Putuskan /Username OPENFILES /Putuskan /O Baca/Tulis OPENFILES /Putuskan /OP "c:\My Documents\somedoc.doc" /ID 234 OPENFILES /Putuskan /S sistem /U username /ID 5 OPENFILES /Putuskan /S system /U username /P password /INDO *

Openfiles.exe melakukan pekerjaan dengan sempurna untuk membuat daftar semua file yang terbuka bersama dengan nama proses, tetapi tidak dapat mematikan proses secara paksa. Namun, alat konsol bawaan yang luar biasa (tetapi diabaikan) ini dapat berguna ketika Anda ingin segera menemukan nama proses yang menggunakan file, atau untuk memutuskan file yang sedang diakses melalui folder bersama oleh pengguna jaringan — tanpa bergantung pada pihak ketiga larutan.

5. Tampilan File yang Dibuka

Tampilan File yang Dibuka from Nirsoft menampilkan daftar semua file yang dibuka di sistem Anda. Untuk setiap file yang dibuka, informasi tambahan ditampilkan: nilai pegangan, akses baca/tulis/hapus, posisi file, proses yang membuka file, dan banyak lagi… Opsional, Anda juga dapat menutup satu atau lebih file yang dibuka, atau menutup proses yang membuka ini file.

Temukan Proses Yang Telah Mengunci File

Anda dapat menutup proses file yang dipilih atau menutup pegangan file yang dipilih. Nomor pegangan diwakili dalam nilai hex sedangkan alat konsol openfiles.exe menunjukkannya dalam format normal. Alat ini juga memungkinkan Anda menambahkan opsi menu konteks untuk dengan cepat menemukan proses yang sedang menggunakan file, melalui menu klik kanan. Opsi menu konteks / dukungan baris perintah, menurut saya, adalah salah satu fitur paling berguna yang ditawarkan oleh OpenedFilesView.


Satu permintaan kecil: Jika Anda menyukai posting ini, silakan bagikan ini?

Satu share "kecil" dari Anda akan sangat membantu perkembangan blog ini. Beberapa saran bagus:
  • Sematkan!
  • Bagikan ke blog favorit Anda + Facebook, Reddit
  • Tweet itu!
Jadi terima kasih banyak atas dukungan Anda, pembaca saya. Ini tidak akan memakan waktu lebih dari 10 detik dari waktu Anda. Tombol bagikan ada tepat di bawah. :)

Ezoiclaporkan iklan ini