Khắc phục: Quy trình không thể truy cập tệp vì nó đang được sử dụng bởi quy trình khác



Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề

Một số người dùng Windows đang gặp phải lỗi “ Quá trình không thể truy cập tệp vì nó đang được sử dụng bởi một quá trình khác ” lỗi. Hầu hết thời gian, sự cố xảy ra khi người dùng cố gắng chạy lệnh netsh. Một số người dùng đang báo cáo rằng đối với họ, thông báo lỗi xuất hiện khi họ cố gắng nhấp chuột phải vào một trang web trong phần đính vào IIS (Internet Information Services) MMC (Microsoft Management Console).



Quá trình không thể truy cập tệp vì nó đang được sử dụng bởi một quá trình khác



Sự cố được báo cáo là xảy ra trên Windows Vista, Windows 7, Windows 8.1, Windows 10 và trên các phiên bản Windows Server khác nhau.



Nguyên nhân nào khiến quy trình được sử dụng bởi quy trình khác?

Chúng tôi đã điều tra vấn đề cụ thể này bằng cách xem xét các báo cáo người dùng khác nhau và các chiến lược sửa chữa mà họ đã sử dụng để giải quyết vấn đề. Dựa trên những gì chúng tôi có thể thu thập, có một số trường hợp phổ biến sẽ kích hoạt thông báo lỗi cụ thể này:

  • Lệnh yêu cầu đặc quyền quản trị viên - Nếu bạn gặp lỗi bên trong thiết bị đầu cuối, rất có thể do bạn không có đặc quyền quản trị để thực hiện sửa đổi. Một số người dùng trong tình huống tương tự đã tìm cách giải quyết vấn đề bằng cách cấp đặc quyền quản trị viên.
  • Một quy trình khác đang sử dụng cổng 80 hoặc cổng 443 - Điều này thường xảy ra với các máy tính chạy IIS (Internet Information Services). Nếu một quá trình khác đang sử dụng hai cổng này, bạn sẽ thấy thông báo lỗi này.
  • Khóa con đăng ký ListenOnlyList không được định cấu hình đúng - Một tình huống phổ biến khác với IIS (dịch vụ thông tin Internet) sẽ gây ra lỗi cụ thể này là khóa con đăng ký ListenOnlyList được định cấu hình không chính xác.

Nếu bạn hiện đang gặp khó khăn trong việc giải quyết thông báo lỗi cụ thể này, thì bài viết này sẽ cung cấp cho bạn một tập hợp các bước khắc phục sự cố đã được xác minh. Ở bên dưới, bạn có một bộ sưu tập các phương pháp mà những người dùng khác trong tình huống tương tự đã sử dụng để khắc phục sự cố.

Để có kết quả tốt nhất, hãy làm theo các phương pháp bên dưới cho đến khi bạn gặp phải bản sửa lỗi có hiệu quả trong việc giải quyết lỗi trong trường hợp cụ thể của bạn.



Hãy bắt đầu nào!

Phương pháp 1: Chạy lệnh với đặc quyền quản trị

Nếu bạn gặp phải lỗi này khi cố gắng chạy lệnh netsh, thì có thể lỗi đang xảy ra do bạn không có đặc quyền quản trị viên. Điều này được báo cáo là xảy ra nhiều hơn khi người dùng cố gắng chạy một lệnh bổ sung loại trừ vào phạm vi cổng động cho các ứng dụng Windows gốc hoặc ứng dụng của bên thứ ba.

Hãy nhớ rằng một hoạt động thuộc loại này sẽ yêu cầu đặc quyền của quản trị viên. Để đảm bảo rằng cửa sổ CMD mà bạn đang cố gắng thực hiện tác vụ trong đó có đặc quyền của quản trị viên, hãy làm theo các bước bên dưới:

  1. nhấn Phím Windows + R để mở hộp thoại Chạy. Sau đó, nhập “ cmd ' và hãy nhấn Ctrl + Shift + Enter để mở Command Prompt nâng cao.

    Mở cửa sổ Command Prompt nâng cao

  2. Khi được nhắc bởi UAC (Kiểm soát tài khoản người dùng) , nhấp chuột Đúng để cấp đặc quyền quản trị.
  3. Trong Command Prompt nâng cao, hãy chạy lại lệnh và xem liệu bạn có còn gặp phải thông báo lỗi tương tự hay không.

Nếu bạn vẫn nhận được “ Quá trình không thể truy cập tệp vì nó đang được sử dụng bởi một quá trình khác ” hoặc tình huống này không áp dụng được, hãy chuyển xuống phương pháp tiếp theo bên dưới.

Phương pháp 2: Đặt một dải IP khác

Nếu bạn đang cố gắng giải quyết xung đột DNS xung đột bằng cách sử dụng netsh và phương pháp trên không giúp được bạn, bạn có thể muốn thử một cách tiếp cận khác.

Một số người dùng đang vật lộn để giải quyết cùng một thông báo lỗi đã nhận thấy rằng xung đột đã được giải quyết sau khi họ cố gắng đặt một dải IP hoàn toàn khác thay vì tạo một dải loại trừ.

Dưới đây, bạn có một số lệnh mà một người dùng bị ảnh hưởng đã chạy thành công để giải quyết xung đột giữa DNS và Quickbooks:

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

Ghi chú: Đảm bảo rằng thiết bị đầu cuối bạn đang chạy lệnh có đặc quyền của quản trị viên.

Nếu phương pháp này không giải quyết được xung đột hoặc không áp dụng được cho tình huống bạn đang gặp phải, hãy chuyển xuống phương pháp cuối cùng.

Phương pháp 3: Giải quyết xung đột cổng IIS

Nếu bạn gặp phải sự cố trong khi cố gắng nhấp chuột phải vào một mục trang web bên trong IIS MMC snap-in (nhấp vào Bắt đầu không làm gì cả), bạn sẽ cần sử dụng tiện ích Netstat.exe để tìm hiểu xem liệu có quá trình khác không. sử dụng cổng 80 và cổng 443.

Sự cố này khá phổ biến với máy tính chạy Microsoft IIS 6.0 và 7.0. Dựa trên tài liệu chính thức của Microsoft, thông báo lỗi sẽ xuất hiện nếu một trong các điều kiện sau có thể áp dụng cho tình huống hiện tại của bạn:

  • Các ListenOnlyList khoá con đăng ký không được định cấu hình đúng trên máy tính đang chạy IIS.
  • Một quy trình khác đang sử dụng cổng TCP (80) hoặc cổng SSL (443) theo yêu cầu của IIS.

Để giải quyết vấn đề này, chúng tôi sẽ cần triển khai Netstat.exe để xác định xem quá trình khác có đang sử dụng các cổng được chỉ định ở trên hay không. Nếu tiện ích xác định rằng các cổng không được sử dụng, chúng tôi sẽ kiểm tra khóa con ListenOnlyList để xem nó có được định cấu hình chính xác hay không.

Dưới đây là hướng dẫn từng bước về toàn bộ:

  1. nhấn Phím Windows + R để mở hộp thoại Chạy. Sau đó, nhập “ cmd ' và hãy nhấn Ctrl + Shift + Enter để mở Command Prompt nâng cao. Khi được nhắc bởi UAC (Kiểm soát tài khoản người dùng) , nhấp chuột Đúng để cấp đặc quyền quản trị.

    Mở cửa sổ Command Prompt nâng cao

  2. Bên trong dấu nhắc lệnh nâng cao, hãy chạy lệnh sau để bắt đầu Netstat.exe tiện ích:
    netstat -ano
  3. Khi bạn nhận được lợi nhuận, hãy cuộn qua danh sách Kết nối hoạt động và xác minh xem các cổng 50 và 443 có đang được sử dụng tích cực bởi một quy trình khác hay không.

    Xác minh xem các cổng có đang được sử dụng bởi một quy trình khác không

    Ghi chú: Nếu các cổng đang được sử dụng tích cực bởi một quy trình khác, bạn vừa quản lý để xác định nguồn gốc của sự cố của mình. Trong trường hợp này, hãy xem trực tuyến các bước cụ thể về cách giải quyết xung đột cổng theo PID của cổng.

  4. Đóng Command Prompt nâng cao vì chúng tôi sẽ không cần đặc quyền quản trị viên cho các bước tiếp theo.
  5. Nếu các cổng không được sử dụng tích cực, hãy nhấn Phím Windows + R để mở hộp thoại Chạy. Sau đó, nhập ‘ regedit ' và hãy nhấn Đi vào để mở Trình chỉnh sửa sổ đăng ký . Khi được nhắc bởi UAC (Kiểm soát tài khoản người dùng) , nhấp chuột Đúng để cấp đặc quyền quản trị.

    Mở tiện ích Registry Editor

  6. Bên trong trình chỉnh sửa sổ đăng ký, sử dụng ngăn bên trái để điều hướng đến vị trí sau:
    HKEY_LOCAL_MACHINE  SYSTEM  CurrentControlSet  Services  HTTP  Parameters  ListenOnlyList 

    Ghi chú: Trong trường hợp ListenOnlyList không có khóa con, không cần tạo khóa con làm địa chỉ IP của 0.0.0.0 sẽ được sử dụng theo mặc định.

  7. Trước khi bạn tiếp tục và sửa đổi ListenOnlyList khóa con, bạn sẽ cần dừng dịch vụ HTTP đang chạy IIS. Vì vậy, hãy đặt Trình chỉnh sửa sổ đăng ký ở chế độ nền vì chúng tôi sẽ quay lại nó sau giây lát.
  8. Tiếp theo, nhấn Phím Windows + R để mở hộp thoại Chạy, hãy nhập ‘ cmd ' và hãy nhấn Đi vào để mở một cửa sổ Command Prompt khác.

    Chạy hộp thoại: cmd

  9. Trong dấu nhắc Cmd, hãy chạy lệnh sau và nhấn Đi vào để dừng dịch vụ HTTP chịu trách nhiệm chạy IIS:
    net dừng http
  10. Khi được hỏi bạn có muốn tiếp tục thao tác này hay không, hãy gõ ‘Y’ và nhấn Enter để xác nhận thao tác.

    Tắt dịch vụ HTTP

  11. Sau khi dịch vụ HTTP bị vô hiệu hóa, hãy đóng cửa sổ Command Prompt và quay lại Registry Editor.
  12. Với ListenOnlyList đã chọn khóa con, chuyển sang ngăn bên phải và đảm bảo rằng nó chứa các địa chỉ IP hợp lệ. Nếu bạn phát hiện địa chỉ IP không hợp lệ, hãy xóa hoặc sửa đổi địa chỉ đó để phản ánh mục nhập có địa chỉ IP hợp lệ.

    Xóa các giá trị nhị phân có IP không hợp lệ

    Ghi chú: Trong trường hợp ListenOnlyList khóa con hiện diện và 0.0.0.0 địa chỉ được liệt kê, bạn cần xóa tất cả các địa chỉ IP khác.

  13. Đóng Registry Editor và khởi động lại máy tính của bạn.
  14. Vào lần khởi động tiếp theo, dịch vụ HTTP sẽ được tự động khởi động. Nhưng chỉ để đảm bảo, hãy nhấn Phím Windows + R để mở một hộp thoại Run khác. Sau đó, nhập “ cmd ' và hãy nhấn Đi vào để mở cửa sổ Command Prompt.

    Mở cửa sổ Command Prompt bình thường

  15. Trong Command Prompt mới mở, hãy nhập lệnh sau để đảm bảo rằng dịch vụ HTTP được khởi động:
     net bắt đầu http 

    Ghi chú: Nếu bạn nhận được một thông báo cho biết rằng 'Dịch vụ được yêu cầu đã được bắt đầu' thì bạn nên sử dụng.

  16. Cố gắng khởi động một dịch vụ từ Microsoft Management Console (MMC) của Microsoft Internet Information Services (IIS). Bạn không còn gặp phải 'Process không thể truy cập tệp vì nó đang được sử dụng bởi process khác' lỗi.
5 phút đọc