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

Một số người dùng Windows đang gặp phải lỗi “ Quy trình không thể truy cập tệp vì nó đang được sử dụng bởi một quy trình khác” . 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).

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ố tình huống 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ị - 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 - Đây là một quy trình điển hình 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 trường hợp phổ biến khác với IIS (dịch vụ Thông tin Internet) sẽ kích hoạt 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 để giải quyết thông báo lỗi cụ thể này, bài viết này sẽ cung cấp cho bạn một bộ sưu tậ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 lỗi này khi cố gắng chạy lệnh netsh, 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 bạn đang cố gắng thực hiện tác vụ có đặc quyền 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 đó, gõ “ cmd ” và nhấn Ctrl + Shift + Enter để mở Command Prompt được nâng lên.
  2. Khi được UAC (Kiểm soát tài khoản người dùng) nhắc , hãy nhấp vào để cấp đặc quyền quản trị viên.
  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 gặp lỗi " Quy trình không thể truy cập tệp vì nó đang được sử dụng bởi một quy 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

Lưu ý: Đảm bảo rằng thiết bị đầu cuối bạn đang chạy lệnh có đặc quyền 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:

  • Khóa con đăng ký ListenOnlyList không được định cấu hình chính xác 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 tiện ích Netstat.exe để xác định xem một quy 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.

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

  1. Nhấn phím Windows + R để mở hộp thoại Chạy. Sau đó, gõ “ cmd ” và nhấn Ctrl + Shift + Enter để mở Command Prompt được nâng lên. Khi được UAC (Kiểm soát tài khoản người dùng) nhắc , hãy nhấp vào để cấp đặc quyền quản trị.
  2. Bên trong dấu nhắc lệnh nâng cao, hãy chạy lệnh sau để khởi động tiện ích Netstat.exe :
    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 một quy trình khác sử dụng tích cực hay không.

    Lưu ý: 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 đó, gõ ' regedit ' và nhấn Enter để mở Registry Editor . Khi được UAC (Kiểm soát tài khoản người dùng) nhắc , hãy nhấp vào để cấp đặc quyền quản trị.
  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

    Lưu ý: Trong trường hợp không có khóa con ListenOnlyList , bạn không cần tạo khóa con vì địa chỉ IP 0.0.0.0 sẽ được sử dụng theo mặc định.

  7. Trước khi tiếp tục và sửa đổi khóa con ListenOnlyList , bạn cần phải dừng dịch vụ HTTP đang chạy IIS. Vì vậy, hãy đặt Registry Editor ở chế độ nền vì chúng ta sẽ quay lại nó trong giây lát.
  8. Tiếp theo, nhấn phím Windows + R để mở hộp thoại Run, nhập ' cmd ' và nhấn Enter để mở một cửa sổ Command Prompt khác.
  9. Trong dấu nhắc Cmd, hãy chạy lệnh sau và nhấn Enter để 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.
  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 khóa con ListenOnlyList được chọn, hãy 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 một địa chỉ IP không hợp lệ, hãy xóa nó hoặc sửa đổi nó để phản ánh một mục nhập có địa chỉ IP hợp lệ.

    Lưu ý: Trong trường hợp khóa con ListenOnlyList xuất hiện và địa chỉ 0.0.0.0 đượ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 đó, gõ “ cmd ” và nhấn Enter để mở cửa sổ Command Prompt.
  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

    Lưu ý: Nếu bạn nhận được thông báo trả về 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 sẽ không còn gặp phải lỗi 'tiến trình không thể truy cập tệp vì nó đang được sử dụng bởi một quy trình khác' .