it-swarm-id.com

Bagaimana Anda menemukan proses apa yang menahan file terbuka di Windows?

Satu hal yang mengganggu saya tentang Windows adalah kesalahan yang lama berbagi pelanggaran. Seringkali Anda tidak dapat mengidentifikasi apa yang menahannya. Biasanya ini hanya editor atau Explorer yang menunjuk ke direktori yang relevan, tetapi kadang-kadang saya harus me-reboot komputer saya.

Ada saran tentang cara menemukan pelakunya?

538
cletus

Saya sudah sukses dengan SysinternalsProcess Explorer . Dengan ini, Anda dapat mencari untuk menemukan proses apa yang membuat file terbuka, dan Anda dapat menggunakannya untuk menutup pegangan jika Anda mau. Tentu saja, lebih aman untuk menutup seluruh proses. Berhati-hatilah dan gunakan penilaian.

Untuk menemukan file tertentu, gunakan opsi menu Find->Find Handle or DLL... Ketikkan di bagian path ke file. Daftar proses akan muncul di bawah.

Jika Anda lebih suka baris perintah, Sysinternals Suite menyertakan alat baris perintah Pegangan , yang mencantumkan pegangan terbuka. Beberapa contoh cara menggunakannya:

  • c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\ - temukan semua file yang dibuka dari drive E:
  • c:\Program Files\SysinternalsSuite>handle.exe |findstr /i file-or-path-in-question
455
Eddie

Anda dapat menggunakan Monitor Sumber Daya untuk ini yang datang bawaan dengan Windows 7, 8, dan 10.

  1. Buka Monitor Sumber Daya , yang dapat ditemukan
    • Dengan mencari Monitor Sumber Daya atau resmon.exe di menu mulai, atau
    • Sebagai tombol pada tab Kinerja di Pengelola Tugas
  2. Buka tab [~ # ~] cpu [~ # ~]
  3. Gunakan bidang pencarian di bagian Pegangan Terkait
    • Lihat panah biru pada tangkapan layar di bawah ini

Ketika Anda menemukan pegangannya, Anda dapat mengidentifikasi proses dengan melihat kolom Gambar dan/atau PID.

Anda kemudian dapat mencoba untuk menutup aplikasi seperti biasa, atau, jika itu tidak mungkin, klik kanan pegangannya dan bunuh prosesnya langsung dari sana. Peasy mudah!

Resource Monitor screenshot

Disalin dari jawaban asli saya: https://superuser.com/a/643312/62

195
Svish

Coba perintah openfiles .

93
John Fouhy

Berhati-hatilah dengan pegangan penutup; bahkan lebih berbahaya daripada yang Anda kira, karena menangani daur ulang - jika Anda menutup pegangan file, dan program membuka sesuatu yang lain, pegangan file asli yang Anda tutup dapat digunakan kembali untuk "sesuatu yang lain". Dan sekarang coba tebak apa yang terjadi jika program berlanjut, mengira itu berfungsi pada file (yang pegangannya Anda tutup), padahal sebenarnya file handle itu sekarang menunjuk ke sesuatu yang lain.

lihat posting Raymond Chen pada topik ini

Misalkan layanan indeks pencarian memiliki file yang terbuka untuk pengindeksan tetapi macet sementara dan Anda ingin menghapus file tersebut, sehingga Anda (secara tidak bijaksana) memaksa gagang ditutup. Layanan indeks pencarian membuka file log-nya untuk merekam beberapa informasi, dan pegangan ke file yang dihapus didaur ulang sebagai pegangan ke file log. Operasi macet akhirnya selesai, dan layanan indeks pencarian akhirnya mendapatkan untuk menutup yang menangani itu terbuka, tetapi akhirnya tanpa disadari menutup pegangan file log.

Layanan indeks pencarian membuka file lain, misalnya file konfigurasi untuk ditulis sehingga dapat memperbarui beberapa kondisi persisten. Pegangan untuk file log akan didaur ulang sebagai pegangan untuk file konfigurasi. Layanan indeks pencarian ingin mencatat beberapa informasi, jadi ia menulis ke file log-nya. Sayangnya, pegangan file log ditutup dan pegangan digunakan kembali untuk file konfigurasinya. Informasi yang dicatat masuk ke file konfigurasi, merusaknya.

Sementara itu, pegangan lain yang Anda tutup paksa digunakan kembali sebagai pegangan mutex, yang digunakan untuk membantu mencegah data dari rusak. Ketika pegangan file asli ditutup, pegangan mutex ditutup dan perlindungan terhadap korupsi data hilang. Semakin lama layanan berjalan, indeksnya semakin rusak. Akhirnya, seseorang memperhatikan bahwa indeks mengembalikan hasil yang salah. Dan ketika Anda mencoba me-restart layanan, itu gagal karena file konfigurasinya telah rusak.

Anda melaporkan masalah ke perusahaan yang membuat layanan indeks pencarian dan mereka menentukan bahwa indeks telah rusak, file log secara misterius berhenti logging, dan file konfigurasi ditimpa dengan sampah. Beberapa teknisi yang buruk diberi tugas yang tidak ada harapan untuk mencari tahu mengapa layanan merusak indeks dan file konfigurasinya, tidak menyadari bahwa sumber korupsi adalah bahwa Anda memaksa gagang ditutup.

83
Mark Sowul

Saya telah menggunakan Menangani dengan sukses untuk menemukan proses seperti itu di masa lalu.

29
Greg Hewgill

Lockhunter ( http://lockhunter.com/ ) berfungsi pada sistem 32 dan 64bit.

11
Scoregraphic

Hanya untuk memperjelas, ini lebih mungkin merupakan hasil dari kesalahan aplikasi pihak ke-3 yang tidak menggunakan CreateFile panggilan API dengan benar daripada apa pun di Windows itu sendiri. Mungkin ini merupakan konsekuensi dari desain CreateFile, tetapi dilakukan sudah selesai dan kami tidak bisa kembali.

Pada dasarnya ketika membuka file di program Windows Anda memiliki opsi untuk menentukan flag yang memungkinkan akses bersama. Jika Anda tidak menentukan benderanya, program akan mengambil akses eksklusif file tersebut.

Sekarang, jika Explorer tampaknya menjadi penyebabnya di sini, mungkin saja masalahnya hanya ada di permukaan, dan pelakunya yang sebenarnya adalah sesuatu yang memasang ekstensi Shell yang membuka semua file dalam folder untuk keperluannya sendiri tetapi terlalu gung-ho dalam melakukannya, atau itu tidak membersihkan dengan benar setelah itu sendiri. Symantec AV adalah sesuatu yang saya pernah lihat melakukan ini sebelumnya, dan saya tidak akan terkejut jika program AV lainnya juga yang harus disalahkan. Plug-in kontrol sumber mungkin juga salah.

Jadi bukan benar-benar jawaban, tetapi hanya beberapa saran untuk tidak selalu menyalahkan Windows untuk apa yang mungkin merupakan program pihak ke-3 yang ditulis dengan buruk (sesuatu yang juga dapat terjadi pada OS lain yang memiliki penguncian file implisit, tetapi OS berbasis unix apa pun telah berbagi akses oleh default).

7
Maximus Minimus

Who Lock Me berfungsi dengan baik dan membuat orang geli dengan namanya!

7
Generic Error

Apropos Explorer menahan file terbuka: "Ketika ini terjadi pada file yang perlu Anda hapus, Anda memiliki pilihan untuk memaksa pegangan ditutup, atau me-reboot."

Anda bisa mengakhiri Explorer.

Jika ini adalah hal satu kali (Explorer biasanya tidak menahan file ini terbuka) maka saya kira log off dan masuk kembali akan melakukan trik.

Kalau tidak, matikan proses Explorer desktop dan lakukan apa yang Anda inginkan saat itu hilang. Pertama mulai salinan cmd.exe (Anda perlu UI untuk melakukan pembersihan yang Anda inginkan). Pastikan tidak ada Penjelajah non-desktop yang berjalan. Lalu bunuh Explorer terakhir dengan, mis., Pengelola Tugas. Lakukan apa yang Anda inginkan dalam Prompt perintah. Akhirnya, jalankan Explorer dari Prompt perintah, dan itu akan menjadi desktop.

Saya kira mungkin ada beberapa ketidaknyamanan residual jika beberapa program systray tidak dapat menangani restart Shell.

6
dave

Pada server jarak jauh, ketika Anda memeriksa berbagi jaringan, sesuatu yang sederhana seperti konsol Manajemen Komputer dapat menampilkan informasi ini dan menutup file.

6
K. Brian Kelley

File dapat dikunci oleh proses lokal ( nlocker adalah alat untuk digunakan) dan dengan akses file yang masuk melalui share.

Ada fungsi bawaan di Windows yang menunjukkan kepada Anda file apa di komputer lokal yang dibuka/dikunci oleh komputer jarak jauh (yang memiliki file tersebut dibuka melalui berbagi file):

* Select "Manage Computer" (Open "Computer Management")
* click "Shared Folders"
* choose "Open Files"

Di sana Anda bahkan dapat menutup file dengan paksa.

5
Dirk Paessler

Dengan Peretas Proses Anda dapat mengidentifikasi proses apa yang menahan file Anda dengan mudah:

Find Handles or DLLs

4
Ivan Kochurkin

Ada NirSoft's Opened Files View juga.

4

Jawaban yang dipilih di atas mencakup situasi di mana proses program menahan file handle terbuka, yang (untungnya) sebagian besar waktu - namun dalam beberapa kasus (seperti yang terjadi pada sistem ini saat ini), sistem itu sendiri memegang file handle Buka.

Anda dapat mengidentifikasi situasi ini dengan mengikuti instruksi untuk menemukan proses memegang file menangani dengan proses Explorer di atas, dan mencatat bahwa nama proses terdaftar sebagai 'sistem', atau dengan mengikuti instruksi menggunakan monitor sumber daya dan mencatat bahwa tidak ada gambar yang ditampilkan memiliki filehandle terbuka pada file yang Anda minati (Meskipun jelas ada sesuatu yang dilakukan karena Anda tidak dapat mengedit/menghapus file dll).

Jika itu terjadi, opsi Anda (sejauh yang saya ketahui) adalah untuk memulai ulang - atau lupakan melakukan apa pun dengan file itu.

2
Blair

Ada alat FILEMON dan menunjukkan file dan pegangan terbuka. Sulit untuk mengimbangi tampilannya jika Anda menontonnya langsung, ia melakukannya dengan cepat. Tetapi Anda dapat menghentikannya menampilkan langsung dan Anda dapat menonton semua aktivitas buka/tulis file. Sekarang dimiliki oleh Microsoft tetapi awalnya oleh Sysinternals

0
user44304

Saya dihidupkan ke Exteneded Task Manager beberapa waktu lalu oleh blog Jeremy Zawodny, dan itu bagus untuk melacak info lebih lanjut tentang proses juga. +1 untuk Process Explorer seperti di atas juga, terutama untuk mematikan proses yang Task Manager standar tidak akan berakhir.

0
nedm