Perbaiki: Proses Tidak Dapat Mengakses Fail Kerana Digunakan oleh Proses Lain

Beberapa pengguna Windows mengalami kesalahan "Proses tidak dapat mengakses file kerana sedang digunakan oleh proses lain" . Selalunya, masalah berlaku ketika pengguna cuba menjalankan perintah netsh. Sebilangan pengguna melaporkan bahawa bagi mereka, mesej ralat muncul ketika mereka cuba mengklik kanan laman web di snap-in MMC (Microsoft Information Services) IIS (Microsoft Management Console).

Masalah tersebut dilaporkan berlaku pada Windows Vista, Windows 7, Windows 8.1, Windows 10 dan pada pelbagai versi Windows Server.

Apa yang menyebabkan proses itu digunakan oleh proses lain?

Kami menyiasat masalah ini dengan melihat pelbagai laporan pengguna dan strategi pembaikan yang mereka gunakan untuk menyelesaikan masalah tersebut. Berdasarkan apa yang dapat kami kumpulkan, terdapat beberapa senario biasa yang akan mencetuskan mesej ralat ini:

  • Perintah tersebut memerlukan hak pentadbir - Sekiranya anda menghadapi ralat di dalam terminal, kemungkinan besar kerana anda tidak mempunyai hak pentadbiran untuk melakukan pengubahsuaian. Beberapa pengguna dalam situasi serupa berjaya menyelesaikan masalah dengan memberikan hak pentadbir.
  • Proses lain adalah menggunakan port 80 atau port 443 - Ini biasa dengan komputer yang menjalankan IIS (Internet Information Services). Sekiranya proses lain menggunakan dua port ini, anda akan melihat mesej ralat ini.
  • Subkunci pendaftaran ListenOnlyList tidak dikonfigurasi dengan betul - Satu lagi senario biasa dengan IIS (perkhidmatan Maklumat Internet) yang akan mencetuskan ralat ini adalah subkunci pendaftaran ListenOnlyList yang salah dikonfigurasi.

Sekiranya anda sedang berusaha menyelesaikan masalah ralat tertentu, artikel ini akan memberi anda kumpulan langkah penyelesaian masalah yang disahkan. Di bawah ini, anda mempunyai sekumpulan kaedah yang telah digunakan oleh pengguna lain dalam situasi serupa untuk menyelesaikan masalah tersebut.

Untuk hasil terbaik, ikuti kaedah di bawah ini sehingga anda menemui penyelesaian yang berkesan dalam menyelesaikan ralat dalam senario tertentu anda.

Mari kita mulakan!

Kaedah 1: Menjalankan perintah dengan hak pentadbir

Sekiranya anda mendapat ralat ini semasa cuba menjalankan perintah netsh, kemungkinan kesalahan itu berlaku kerana anda tidak mempunyai hak pentadbir. Perkara ini dilaporkan terjadi lebih kerap daripada ketika pengguna mencoba menjalankan perintah yang menambahkan pengecualian pada rangkaian port dinamik untuk aplikasi Windows asli atau aplikasi pihak ketiga.

Perlu diingat bahawa operasi seperti ini memerlukan hak pentadbir. Untuk memastikan bahawa tetingkap CMD yang anda cuba lakukan mempunyai hak pentadbir, ikuti langkah-langkah di bawah:

  1. Tekan kekunci Windows + R untuk membuka kotak dialog Jalankan. Kemudian, ketik " cmd " dan tekan Ctrl + Shift + Enter untuk membuka Prompt Perintah yang ditinggikan.
  2. Apabila diminta oleh UAC (Kawalan Akaun Pengguna) , klik Ya untuk memberikan hak pentadbir.
  3. Di Prompt Perintah yang dinaikkan, jalankan perintah itu lagi dan lihat apakah anda masih menghadapi mesej ralat yang sama.

Sekiranya anda masih mendapat ralat "Proses tidak dapat mengakses fail kerana sedang digunakan oleh proses lain" atau senario ini tidak berlaku, lanjutkan ke metode berikutnya di bawah.

Kaedah 2: Menetapkan julat IP yang berbeza

Sekiranya anda cuba menyelesaikan konflik konflik DNS menggunakan netsh dan kaedah di atas tidak membantu anda, anda mungkin ingin mencuba pendekatan lain.

Beberapa pengguna yang berjuang menyelesaikan masalah ralat yang sama mendapati bahawa konflik dapat diselesaikan setelah mereka berusaha untuk menetapkan julat IP yang sama sekali bukan membuat julat pengecualian.

Di bawah ini terdapat beberapa arahan yang berjaya dijalankan oleh satu pengguna yang terpengaruh untuk menyelesaikan konflik antara DNS dan Buku Pantas:

netsh int ipv4 set dynamicport tcp start=10000 num=1000 netsh int ipv4 set dynamicport udp start=10000 num=1000

Catatan: Pastikan terminal tempat anda menjalankan perintah mempunyai hak pentadbir.

Sekiranya kaedah ini tidak menyelesaikan konflik atau tidak berlaku untuk situasi yang Anda hadapi, beralih ke metode terakhir.

Kaedah 3: Menyelesaikan konflik port IIS

Sekiranya anda menghadapi masalah semasa cuba mengklik kanan item laman web di dalam snap-in IIS MMC (mengklik Mula tidak melakukan apa-apa), anda perlu menggunakan utiliti Netstat.exe untuk mengetahui apakah proses lain adalah menggunakan port 80 dan port 443.

Masalah ini agak biasa dengan komputer yang menjalankan Microsoft IIS 6.0 dan 7.0. Berdasarkan dokumentasi Microsoft rasmi, mesej ralat akan muncul jika salah satu syarat berikut berlaku untuk situasi semasa anda:

  • The ListenOnlyList pendaftaran subkey tidak dikonfigurasikan dengan betul pada IIS menjalankan komputer.
  • Proses lain adalah menggunakan port TCP (80) atau port SSL (443) yang diperlukan oleh IIS.

Untuk menyelesaikan masalah ini, kita perlu menggunakan utiliti Netstat.exe untuk menentukan apakah proses lain menggunakan port yang dinyatakan di atas. Sekiranya utiliti menentukan bahawa port tidak digunakan, kami akan memeriksa subkunci ListenOnlyList untuk melihat apakah dikonfigurasi dengan betul.

Inilah panduan langkah demi langkah secara keseluruhan:

  1. Tekan kekunci Windows + R untuk membuka kotak dialog Jalankan. Kemudian, ketik " cmd " dan tekan Ctrl + Shift + Enter untuk membuka Prompt Perintah yang ditinggikan. Apabila diminta oleh UAC (Kawalan Akaun Pengguna) , klik Ya untuk memberikan hak pentadbiran.
  2. Di dalam command prompt yang dinaikkan, jalankan arahan berikut untuk memulakan utiliti Netstat.exe :
    netstat -ano
  3. Sebaik sahaja anda mendapat pulangan, tatal senarai Sambungan Aktif dan sahkan sama ada port 50 dan 443 digunakan secara aktif oleh proses yang berbeza.

    Catatan: Sekiranya port digunakan secara aktif oleh proses yang berbeza, anda baru sahaja dapat mengenal pasti sumber masalah anda. Dalam kes ini, cari secara dalam talian untuk langkah-langkah khusus mengenai cara menyelesaikan konflik pelabuhan mengikut PID pelabuhan.

  4. Tutup Prompt Perintah yang tinggi kerana kami tidak memerlukan hak istimewa pentadbir untuk langkah seterusnya.
  5. Sekiranya port tidak digunakan secara aktif, tekan kekunci Windows + R untuk membuka kotak dialog Jalankan. Kemudian, ketik ' regedit ' dan tekan Enter untuk membuka Registry Editor . Apabila diminta oleh UAC (Kawalan akaun pengguna) , klik Ya untuk memberikan hak pentadbiran.
  6. Di dalam editor Registry, gunakan panel kiri untuk menavigasi ke lokasi berikut:
    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameter \ ListenOnlyList

    Catatan: Sekiranya subkunci ListenOnlyList tidak ada, tidak perlu membuatnya kerana alamat IP 0.0.0.0 akan digunakan secara lalai.

  7. Sebelum anda meneruskan dan mengubah subkunci ListenOnlyList , anda perlu menghentikan perkhidmatan HTTP yang menjalankan IIS. Oleh itu, letakkan Editor Registry di latar belakang kerana kita akan mengembalikannya sebentar lagi.
  8. Seterusnya, tekan kekunci Windows + R untuk membuka kotak dialog Jalankan, ketik ' cmd ' dan tekan Enter untuk membuka tetingkap Prompt Perintah yang lain.
  9. Dalam arahan Cmd, jalankan perintah berikut dan tekan Enter untuk menghentikan perkhidmatan HTTP yang bertanggungjawab menjalankan IIS:
    perhentian bersih http
  10. Apabila ditanya sama ada anda mahu meneruskan operasi ini, ketik 'Y' dan tekan Enter untuk mengesahkan operasi tersebut.
  11. Setelah perkhidmatan HTTP dilumpuhkan, tutup tetingkap Prompt Perintah dan kembali ke Registry Editor.
  12. Dengan subkunci ListenOnlyList dipilih, pindah ke panel sebelah kanan dan pastikan ia mengandungi alamat IP yang sah. Sekiranya anda melihat alamat IP yang tidak sah, hapus atau ubah untuk menggambarkan entri dengan alamat IP yang sah.

    Catatan: Sekiranya subkunci ListenOnlyList ada dan alamat 0.0.0.0 disenaraikan, anda perlu menghapus semua alamat IP yang lain.

  13. Tutup Editor Registry dan mulakan semula komputer anda.
  14. Pada permulaan seterusnya, perkhidmatan HTTP harus dimulakan secara automatik. Tetapi untuk memastikannya, tekan kekunci Windows + R untuk membuka kotak dialog Jalankan yang lain. Kemudian, ketik " cmd " dan tekan Enter untuk membuka tetingkap Prompt Perintah.
  15. Di Prompt Perintah yang baru dibuka, ketik perintah berikut untuk memastikan bahawa perkhidmatan HTTP dimulakan:
    permulaan bersih http

    Catatan: Sekiranya anda mendapat kembali pesan yang mengatakan bahawa "Perkhidmatan yang diminta telah dimulakan", Anda harus pergi.

  16. Percubaan untuk memulakan perkhidmatan dari snap-in Microsoft Management Information Services (IIS) Microsoft Management Console (MMC). Anda seharusnya tidak lagi menemui 'proses tidak dapat mengakses fail kerana kesalahan digunakan oleh proses lain' .