Khắc phục: Quá 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

Một số người dùng Windows đang gặp phải lỗi Quá trình này không thể truy cập tệp vì nó đang được sử dụng bởi một lỗi quá 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ố bấm chuột phải vào một trang web trong phần đính vào MMC (Dịch vụ thông tin Internet) IIS (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 quy trình khác

Sự cố được báo cáo 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.

Điều gì gây ra quá trình được sử dụng bởi một quá trình khác?

Chúng tôi đã điều tra vấn đề đặc biệt 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 của quản trị viên - Nếu bạn gặp phải lỗi trong thiết bị đầu cuối, rất có thể là 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ự đã quản lý để 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 là sử dụng cổng 80 hoặc cổng 443 - Đây là điển hình với các máy tính chạy IIS (Dịch vụ thông tin Internet). 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 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à một 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 đấu tranh để 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ộ các bước khắc phục sự cố được xác minh. Ở bên dưới, bạn có một tập hợp các phương thức mà những người dùng khác trong tình huống tương tự đã sử dụng để giải quyết vấn đề.

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

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

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

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

Hãy nhớ rằng một hoạt động của 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ố thực hiện hành động có đặc quyền của quản trị viên, hãy làm theo các bước dưới đây:

  1. Nhấn phím Windows + R để mở hộp thoại Run. Sau đó, gõ vào cm cmd và nhấn Ctrl + Shift + Enter để mở Dấu nhắc lệnh nâng cao.

    Mở một cửa sổ Dấu nhắc Lệnh nâng cao
  2. Khi được nhắc bởi UAC (Kiểm soát tài khoản người dùng), bấm để cấp đặc quyền quản trị viên.
  3. Trong Dấu nhắc lệnh nâng cao, chạy lại lệnh và xem liệu bạn có còn gặp thông báo lỗi tương tự không.

Nếu bạn vẫn nhận được quy trình, Quá trình không thể truy cập vào tệp vì nó đang được sử dụng bởi một lỗi quy trình khác hoặc kịch bản này không áp dụng được, hãy chuyển sang phương pháp tiếp theo bên dưới.

Phương pháp 2: Đặ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 Netsh và phương pháp trên không giúp ích gì cho 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 đấu tranh để giải quyết cùng một thông báo lỗi đã phát hiện ra rằng xung đột được giải quyết sau khi họ cố gắng đặt phạm vi IP hoàn toàn khác thay vì tạo phạm vi loại trừ.

Bên dưới bạn có một vài 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 mà bạn 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 phần đính vào IIS MMC (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 có phải là một quy trình khác không sử dụng cổng 80 và cổng 443.

Vấn đề này khá phổ biến với các 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 á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 cấu hình đúng trên máy tính chạy IIS.
  • Một quá trình khác là 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 có quá trình khác đang sử dụng các cổng được chỉ định ở trên 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 cấu hình đúng không.

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

  1. Nhấn phím Windows + R để mở hộp thoại Run. Sau đó, gõ vào cm cmd và nhấn Ctrl + Shift + Enter để mở Dấu nhắc lệnh nâng cao. Khi được nhắc bởi UAC (Kiểm soát tài khoản người dùng), bấm để cấp đặc quyền quản trị.

    Mở một cửa sổ Dấu nhắc Lệnh nâng cao
  2. 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 tiền lãi, 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 không.

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

    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 vấn đề. Trong trường hợp này, hãy tìm kiếm trực tuyến các bước cụ thể về cách giải quyết xung đột cổng theo quy tắc PID của cổng.

  4. Đóng Dấu nhắc lệnh nâng cao vì chúng tôi sẽ không cần đặc quyền của 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, nhấn phím Windows + R để mở hộp thoại Run. Sau đó, nhập ' regedit ' và nhấn Enter để mở Registry Editor . Khi được nhắc bởi UAC (Kiểm soát tài khoản người dùng), bấm để cấp đặc quyền quản trị.

    Mở tiện ích Registry Editor
  6. Trong trình chỉnh sửa Registry, sử dụng khung bên trái để điều hướng đến vị trí sau:
     HKEY_LOCAL_MACHINE \ HỆ THỐNG \ CurrentControlset \ Services \ HTTP \ Paramameter \ ListenOnlyList 

    Lưu ý: Trong trường hợp không có khóa con ListenOnlyList, không cần tạo một địa chỉ IP là 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 khóa con ListenOnlyList, 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ý vào nền sau vì chúng tôi sẽ quay lại ngay.
  8. Tiếp theo, nhấn phím Windows + R để mở hộp thoại Run, nhập ' cmd ' và nhấn Enter để mở cửa sổ Dấu nhắc Lệnh khác.

    Chạy hộp thoại: cmd
  9. Trong lời 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:
     http dừng http 
  10. Khi được hỏi liệu bạn có muốn tiếp tục thao tác này không, hãy nhập 'Y' và nhấn Enter để xác nhận thao tác.

    Vô hiệu hóa dịch vụ HTTP
  11. Khi dịch vụ HTTP bị vô hiệu hóa, hãy đóng cửa sổ Dấu nhắc lệnh và quay lại Trình chỉnh sửa sổ đăng ký.
  12. Với khóa con ListenOnlyList được chọn, di chuyển sang khung bên phải và đảm bảo rằng nó chứa đị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ục nhập có địa chỉ IP hợp lệ.

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

    Lưu ý: Trong trường hợp khóa con ListenOnlyList có mặt 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. Ở lần khởi động tiếp theo, dịch vụ HTTP sẽ tự động được khởi động. Nhưng chỉ để đảm bảo, nhấn phím Windows + R để mở hộp thoại Run khác. Sau đó, gõ vào cm cmd và nhấn Enter để mở cửa sổ Dấu nhắc Lệnh.

    Mở cửa sổ Dấu nhắc Lệnh bình thường
  15. Trong Dấu nhắc lệnh mới mở, nhập lệnh sau để đảm bảo dịch vụ HTTP được khởi động:
     http bắt đầu 

    Lưu ý: Nếu bạn nhận được thông báo nói rằng Dịch vụ được yêu cầu đã được bắt đầu, bạn rất nên đi.

  16. Cố gắng bắt đầu một dịch vụ từ snap-in Microsoft Management Information (IIS) Microsoft Management Console (MMC). Bạn không còn gặp phải 'quá trình không thể truy cập tệp vì nó đang được sử dụng bởi lỗi của quy trình khác' .

Bài ViếT Thú Vị