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

Beberapa pengguna Windows sedang menghadapi " Proses tidak boleh mengakses fail kerana ia sedang digunakan oleh proses lain" ralat. Kebanyakan masa, masalah berlaku apabila pengguna cuba menjalankan perintah netsh. Sesetengah pengguna melaporkan bahawa untuk mereka, mesej ralat muncul apabila mereka mencuba untuk mengklik kanan tapak web dalam snap-in MMC (Microsoft Management Console) IIS (Internet Information Services).

Proses ini tidak boleh mengakses fail kerana ia digunakan oleh proses lain

Isu ini 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 isu khusus ini dengan melihat pelbagai laporan pengguna dan strategi pembaikan yang mereka gunakan untuk mendapatkan masalah itu diselesaikan. Berdasarkan apa yang dapat kami kumpulkan, terdapat beberapa senario biasa yang akan memicu mesej ralat tertentu ini:

  • Perintah ini memerlukan keistimewaan admin - Sekiranya anda menghadapi ralat di dalam terminal, kemungkinan besar anda tidak mempunyai hak pentadbiran untuk membuat pengubahsuaian. Beberapa pengguna dalam keadaan yang sama telah berjaya mendapatkan masalah yang diselesaikan dengan memberikan keistimewaan admin.
  • Proses lain menggunakan port 80 atau port 443 - Ini adalah tipikal dengan komputer yang menjalankan IIS (Perkhidmatan Maklumat Internet). Jika proses lain menggunakan kedua port ini, anda akan melihat mesej ralat ini.
  • Subkunci registri ListenOnlyList tidak dikonfigurasi dengan betul - Satu lagi senario biasa dengan IIS (perkhidmatan Maklumat Internet) yang akan mencetuskan ralat ini adalah subkey registri ListenOnlyList yang dikonfigurasikan dengan salah.

Sekiranya anda sedang bergelut untuk menyelesaikan mesej ralat tertentu ini, artikel ini akan memberi anda satu kumpulan langkah penyelesaian masalah yang disahkan. Di bawah, anda mempunyai koleksi kaedah yang pengguna lain dalam keadaan yang sama telah digunakan untuk mendapatkan masalah diselesaikan.

Untuk hasil yang terbaik, ikuti kaedah di bawah agar anda menghadapi masalah yang berkesan dalam menyelesaikan kesilapan dalam senario tertentu anda.

Mari kita mulakan!

Kaedah 1: Menjalankan perintah dengan keistimewaan admin

Sekiranya anda mendapat ralat ini ketika cuba menjalankan perintah netsh, kemungkinan kesalahan tersebut terjadi kerana anda tidak mempunyai keistimewaan admin. Ini dilaporkan berlaku lebih dari biasanya apabila pengguna cuba menjalankan perintah yang menambahkan pengecualian ke julat port dinamik untuk aplikasi Windows asli atau aplikasi pihak ke-3.

Perlu diingat bahawa operasi jenis ini memerlukan keistimewaan pentadbir. Untuk memastikan bahawa tetingkap CMD yang anda cuba lakukan dalam tindakan ini mempunyai keistimewaan admin, ikuti langkah-langkah berikut:

  1. Tekan kekunci Windows + R untuk membuka kotak dialog Run. Kemudian, taipkan " cmd " dan tekan Ctrl + Shift + Enter untuk membuka Prompt Perintah yang dinaikkan.

    Membuka tetingkap Prompt Command yang dinaikkan
  2. Apabila digesa oleh UAC (Kawalan Akaun Pengguna), klik Ya untuk memberikan keistimewaan admin.
  3. Dalam Prompt Perintah yang dinaikkan, jalankan arahan sekali lagi dan lihat jika anda masih menghadapi mesej ralat yang sama.

Jika anda masih mendapat " Proses tidak boleh mengakses fail kerana ia sedang digunakan oleh proses lain" kesilapan atau senario ini tidak terpakai, beralih ke kaedah seterusnya di bawah.

Kaedah 2: Menetapkan julat IP yang berbeza

Jika anda cuba menyelesaikan konflik DNS konflik menggunakan netsh dan kaedah di atas tidak membantu anda, anda mungkin mahu mencuba pendekatan yang berbeza.

Beberapa pengguna yang bergelut untuk menyelesaikan mesej ralat yang sama mendapati bahawa konflik itu telah diselesaikan setelah mereka cuba menetapkan julat IP yang sama sekali berbeza daripada membuat julat pengecualian.

Di bawah ini anda mempunyai beberapa arahan yang berjaya pengguna lari untuk menyelesaikan konflik antara DNS dan Quickbooks:

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

Nota: Pastikan terminal anda menjalankan perintah dalam mempunyai keistimewaan admin.

Jika kaedah ini tidak menyelesaikan konflik atau tidak terpakai kepada keadaan yang anda hadapi, beralih ke kaedah akhir.

Kaedah 3: Menyelesaikan konflik pelabuhan IIS

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

Isu 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 terpakai untuk situasi semasa anda:

  • Subkunci pendaftaran ListenOnlyList tidak dikonfigurasi dengan betul pada komputer yang berjalan IIS.
  • Proses lain menggunakan port TCP (80) atau port SSL (443) yang diperlukan oleh IIS.

Untuk menyelesaikan masalah ini, kita perlu menggunakan utiliti Netstat.exe untuk menentukan sama ada proses lain menggunakan port yang dinyatakan di atas. Jika utiliti menentukan bahawa pelabuhan tidak digunakan, kami akan memeriksa subkey ListenOnlyList untuk melihat sama ada ia dikonfigurasi dengan betul.

Berikut adalah panduan langkah demi langkah melalui keseluruhan perkara:

  1. Tekan kekunci Windows + R untuk membuka kotak dialog Run. Kemudian, taipkan " cmd " dan tekan Ctrl + Shift + Enter untuk membuka Prompt Perintah yang dinaikkan. Apabila digesa oleh UAC (Kawalan Akaun Pengguna), klik Ya untuk memberikan keistimewaan pentadbiran.

    Membuka tetingkap Prompt Command yang dinaikkan
  2. Di dalam arahan arahan tinggi, jalankan arahan berikut untuk memulakan utiliti Netstat.exe :
     netstat -ano 
  3. Sebaik sahaja anda mendapat pulangan, tatal melalui senarai Sambungan Aktif dan sahkan sama ada port 50 dan 443 sedang aktif digunakan oleh proses yang berbeza.

    Mengesahkan jika pelabuhan digunakan oleh proses yang berbeza

    Nota: Jika pelabuhan sedang digunakan secara aktif oleh proses yang berbeza, anda hanya dapat mengenalpasti sumber masalah anda. Dalam kes ini, lihat dalam talian untuk langkah-langkah tertentu mengenai cara menyelesaikan konflik pelabuhan mengikut PID pelabuhan.

  4. Tutup Promaran Perintah yang ditinggikan kerana kami tidak memerlukan keistimewaan admin untuk langkah seterusnya.
  5. Jika pelabuhan tidak aktif digunakan, tekan kekunci Windows + R untuk membuka kotak dialog Run. Kemudian, ketik ' regedit ' dan tekan Enter untuk membuka Editor Registry . Apabila digesa oleh UAC (kawalan akaun pengguna), klik Ya untuk memberikan keistimewaan pentadbiran.

    Membuka utiliti Penyunting Registry
  6. Di dalam editor Registry, gunakan anak panah kiri untuk menavigasi ke lokasi berikut:
     HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList 

    Nota: Jika subkey ListenOnlyList tidak hadir, tidak perlu membuat satu sebagai alamat IP 0.0.0.0 yang akan digunakan secara lalai.

  7. Sebelum anda meneruskan dan mengubah suai subkey ListenOnlyList, anda perlu menghentikan perkhidmatan HTTP yang menjalankan IIS. Jadi letakkan Editor Registry di latar belakang kerana kami akan kembali ke dalam seketika.
  8. Seterusnya, tekan kekunci Windows + R untuk membuka kotak dialog Run, ketik ' cmd ' dan tekan Enter untuk membuka tetingkap Prompt Command yang lain.

    Jalankan dialog: cmd
  9. Dalam prompt Cmd, jalankan arahan berikut dan tekan Enter untuk menghentikan perkhidmatan HTTP yang bertanggungjawab untuk menjalankan IIS:
     net stop http 
  10. Apabila ditanya sama ada anda mahu meneruskan operasi ini, ketik 'Y' dan tekan Enter untuk mengesahkan operasi.

    Melumpuhkan Perkhidmatan HTTP
  11. Setelah perkhidmatan HTTP dilumpuhkan, tutup tetingkap Prompt Command dan kembali ke Editor Registry.
  12. Dengan subkey ListenOnlyList dipilih, beralih ke anak panah kanan dan pastikan ia mengandungi alamat IP yang sah. Jika anda melihat alamat IP yang tidak sah, alih keluar atau ubah suai untuk mencantumkan entri dengan alamat IP yang sah.

    Memadam nilai perduaan dengan IP tidak sah

    Nota: Sekiranya subkey ListenOnlyList hadir dan alamat 0.0.0.0 disenaraikan, anda perlu memadam semua alamat IP lain.

  13. Tutup Registry Editor dan mulakan semula komputer anda.
  14. Pada permulaan seterusnya, perkhidmatan HTTP harus dimulakan secara automatik. Tetapi hanya untuk memastikan, tekan Windows key + R untuk membuka kotak dialog Run yang lain. Kemudian, ketik " cmd " dan tekan Enter untuk membuka tetingkap Prompt Command.

    Membuka tetingkap Prompt Command yang biasa
  15. Dalam Prompt Perintah yang baru dibuka, taip arahan berikut untuk memastikan perkhidmatan HTTP dimulakan:
     net start http 

    Nota: Sekiranya anda mengembalikan mesej yang mengatakan bahawa "Perkhidmatan yang diminta telah dimulakan" anda boleh pergi.

  16. Cuba untuk memulakan perkhidmatan dari Microsoft Information Console (IIS) Microsoft Management Console (MMC) snap-in. Anda tidak perlu lagi menemui 'proses tidak boleh mengakses fail kerana ia sedang digunakan oleh ralat proses lain' .

Artikel Yang Menarik