Một số người dùng Windows gặp lỗi "The process cannot access the file because it is being used by another process". Thường xảy ra khi chạy lệnh netsh. Một số báo lỗi khi chuột phải vào website trong IIS (Internet Information Services) MMC (Microsoft Management Console) snap-in.

Vấn đề báo cáo trên Windows Vista, 7, 8.1, 10 và các phiên bản Windows Server.
Nguyên nhân tiến trình bị dùng bởi tiến trình khác
Sau khi điều tra báo cáo người dùng và chiến lược khắc phục, có một số tình huống phổ biến kích hoạt lỗi này:
- Lệnh yêu cầu quyền Admin: Nếu gặp lỗi trong terminal, rất có thể do bạn không có đặc quyền Admin để thay đổi. Nhiều người khắc phục bằng cách cấp quyền Admin.
- Tiến trình khác đang dùng cổng 80 hoặc 443: Phổ biến với máy chạy IIS (Internet Information Services). Nếu tiến trình khác dùng 2 cổng này, bạn sẽ thấy lỗi.
- Registry subkey ListenOnlyList không cấu hình đúng: Tình huống phổ biến khác với IIS gây lỗi: subkey registry ListenOnlyList cấu hình không đúng.
Nếu bạn đang vật lộn với lỗi này, bài viết cung cấp các bước khắc phục đã kiểm chứng. Dưới đây là các phương pháp người dùng khác đã dùng thành công.
Để kết quả tốt, làm theo thứ tự các phương pháp dưới cho đến khi tìm thấy cách khắc phục hiệu quả cho trường hợp của bạn.
Bắt đầu!
Phương pháp 1: Chạy lệnh với quyền Admin (Running command with admin privileges)
Nếu gặp lỗi khi chạy lệnh netsh, có thể do bạn không có quyền Admin. Thường xảy ra khi chạy lệnh thêm loại trừ vào phạm vi cổng động (dynamic port range) cho app Windows gốc hoặc app bên thứ 3.
Lưu ý: Thao tác loại này yêu cầu quyền Admin. Để đảm bảo CMD có quyền Admin, làm theo các bước:
- Nhấn Windows + R mở Run, gõ cmd và nhấn Ctrl + Shift + Enter mở Command Prompt nâng cao (elevated).

- Khi UAC (User Account Control) hỏi, nhấn Yes cấp quyền Admin.
- Trong CMD nâng cao, chạy lại lệnh và xem lỗi còn không.
Nếu vẫn gặp lỗi "The process cannot access the file because it is being used by another process" hoặc trường hợp không áp dụng, chuyển phương pháp dưới.
Phương pháp 2: Đặt dải IP khác (Setting a different IP range)
Nếu bạn đang khắc phục xung đột DNS bằng netsh và phương pháp 1 không giúp được, hãy thử cách khác.
Một số người khắc phục xung đột bằng cách đặt dải IP hoàn toàn khác thay vì tạo dải loại trừ (exclusion range).
Dưới đây là vài lệnh một người dùng chạy thành công khắc phục 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=1000Lưu ý: Đảm bảo terminal bạn chạy lệnh có quyền Admin.
Nếu phương pháp này không khắc phục xung đột hoặc không áp dụng, chuyển phương pháp cuối.
Phương pháp 3: Khắc phục xung đột cổng IIS (Resolving IIS port conflict)
Nếu gặp lỗi khi chuột phải mục website trong IIS MMC snap-in (nhấn Start không làm gì), bạn cần dùng tiện ích Netstat.exe xác định xem tiến trình khác có dùng cổng 80 và 443 không.
Vấn đề này phổ biến với máy chạy Microsoft IIS 6.0 và 7.0. Theo tài liệu Microsoft chính thức, thông báo lỗi xuất hiện nếu một trong các điều kiện sau áp dụng:
- Subkey registry ListenOnlyList không cấu hình đúng trên máy chạy IIS.
- Tiến trình khác đang dùng cổng TCP (80) hoặc cổng SSL (443) mà IIS cần.
Để khắc phục, ta triển khai Netstat.exe xác định xem cổng trên có bị dùng không. Nếu tiện ích xác định cổng không bị dùng, ta kiểm tra subkey ListenOnlyList xem có cấu hình đúng không.
Hướng dẫn từng bước:
- Nhấn Windows + R mở Run, gõ cmd và Ctrl + Shift + Enter mở CMD nâng cao. Khi UAC hỏi, nhấn Yes cấp quyền Admin.

- Trong CMD nâng cao, chạy lệnh sau khởi động Netstat.exe:
netstat -ano
- Khi có kết quả, cuộn qua danh sách Active Connections (Kết nối hoạt động) kiểm tra cổng 80 và 443 có đang được dùng bởi tiến trình khác không.

Lưu ý: Nếu cổng đang được dùng bởi tiến trình khác, bạn đã tìm ra nguyên nhân. Tìm online hướng dẫn khắc phục xung đột cổng theo PID của cổng đó.
- Đóng CMD nâng cao (không cần quyền Admin cho các bước sau).
- Nếu cổng không bị dùng, nhấn Windows + R mở Run, gõ regedit và Enter mở Registry Editor. Khi UAC hỏi, nhấn Yes cấp quyền Admin.

- Trong Registry Editor, dùng bảng bên trái điều hướng đến:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\ListenOnlyList
Lưu ý: Nếu subkey ListenOnlyList không tồn tại, không cần tạo mới vì địa chỉ IP 0.0.0.0 sẽ được dùng mặc định.
- Trước khi sửa subkey ListenOnlyList, bạn phải dừng dịch vụ HTTP chạy IIS. Để Registry Editor ngầm, sẽ quay lại sau.
- Nhấn Windows + R mở Run, gõ cmd và Enter mở CMD khác.

- Trong CMD, chạy lệnh sau dừng dịch vụ HTTP chịu trách nhiệm chạy IIS:
net stop http
- Khi hỏi có muốn tiếp tục, gõ Y và Enter xác nhận.

- Khi dịch vụ HTTP đã dừng, đóng CMD, quay lại Registry Editor.
- Với subkey ListenOnlyList được chọn, nhìn bảng bên phải đảm bảo nó chứa địa chỉ IP hợp lệ. Nếu thấy IP không hợp lệ, xóa hoặc sửa thành IP hợp lệ.

Lưu ý: Nếu subkey ListenOnlyList tồn tại và địa chỉ 0.0.0.0 được liệt kê, bạn cần xóa tất cả địa chỉ IP khác.
- Đóng Registry Editor, khởi động lại máy.
- Lúc khởi động tiếp theo, dịch vụ HTTP nên tự bắt đầu. Để chắc chắn, nhấn Windows + R mở Run, gõ cmd và Enter mở CMD.
- Trong CMD mới, gõ lệnh sau đảm bảo dịch vụ HTTP đã chạy:
net start http
Lưu ý: Nếu trả về "The requested service has been already started" (Dịch vụ yêu cầu đã chạy), bạn đã sẵn sàng.
- Thử bắt đầu dịch vụ từ Microsoft IIS MMC snap-in. Bạn không nên còn gặp lỗi 'process cannot access the file because it is being used by another process'.