수정 : 다른 프로세스에서 파일을 사용하고 있기 때문에 프로세스가 파일에 액세스 할 수 없음

여러 Windows 사용자에게 " 다른 프로세스에서 파일을 사용하고 있기 때문에 파일에 액세스 할 수 없습니다" 오류가 발생합니다. 대부분의 경우이 문제는 사용자가 netsh 명령을 실행하려고 할 때 발생합니다. 일부 사용자는 IIS (인터넷 정보 서비스) MMC (Microsoft Management Console) 스냅인에서 웹 사이트를 마우스 오른쪽 단추로 클릭하려고하면 오류 메시지가 표시된다고보고합니다.

이 문제는 Windows Vista, Windows 7, Windows 8.1, Windows 10 및 다양한 Windows Server 버전에서 발생하는 것으로보고되었습니다.

프로세스가 다른 프로세스에서 사용되는 원인은 무엇입니까?

다양한 사용자 보고서와 문제 해결에 사용한 수리 전략을 살펴봄으로써이 특정 문제를 조사했습니다. 수집 한 내용을 기반으로이 특정 오류 메시지를 트리거하는 몇 가지 일반적인 시나리오가 있습니다.

  • 명령에 관리자 권한이 필요합니다 . 터미널 내부에서 오류가 발생하는 경우 수정을 수행 할 수있는 관리자 권한이 없기 때문일 가능성이 큽니다. 비슷한 상황에있는 여러 사용자가 관리자 권한을 부여하여 문제를 해결했습니다.
  • 다른 프로세스는 포트 80 또는 포트 443을 사용 하고 있습니다. 이것은 IIS (인터넷 정보 서비스)를 실행하는 컴퓨터에서 일반적입니다. 다른 프로세스가이 두 포트를 사용하는 경우이 오류 메시지가 표시됩니다.
  • ListenOnlyList 레지스트리 하위 키가 올바르게 구성되지 않았습니다. IIS (인터넷 정보 서비스)에서이 특정 오류를 발생시키는 또 다른 일반적인 시나리오는 잘못 구성된 ListenOnlyList 레지스트리 하위 키입니다.

현재이 특정 오류 메시지를 해결하는 데 어려움을 겪고있는 경우이 문서에서 확인 된 문제 해결 단계 모음을 제공합니다. 아래에는 비슷한 상황의 다른 사용자가 문제를 해결하는 데 사용한 방법 모음이 있습니다.

최상의 결과를 얻으려면 특정 시나리오에서 오류를 해결하는 데 효과적인 수정 사항을 찾을 때까지 아래 방법을 순서대로 따르십시오.

의 시작하자!

방법 1 : 관리자 권한으로 명령 실행

netsh 명령을 실행하려고 할 때이 오류가 발생하면 관리자 권한이 없기 때문에 오류가 발생했을 가능성이 있습니다. 이는 사용자가 기본 Windows 앱 또는 타사 애플리케이션의 동적 포트 범위에 제외를 추가하는 명령을 실행하려고 할 때 자주 발생하는 것으로보고됩니다.

이러한 종류의 작업에는 관리자 권한이 필요합니다. 작업을 수행하려는 CMD 창에 관리자 권한이 있는지 확인하려면 다음 단계를 따르십시오.

  1. 보도 Windows 키 + R은 실행 대화 상자를 엽니 다. 그런 다음 " cmd "를 입력 하고 Ctrl + Shift + Enter 를 눌러 상승 된 명령 프롬프트를 엽니 다.
  2. UAC (사용자 계정 컨트롤) 에서 메시지가 표시되면 를 클릭 하여 관리자 권한을 부여합니다.
  3. 상승 된 명령 프롬프트에서 명령을 다시 실행하고 동일한 오류 메시지가 계속 표시되는지 확인합니다.

" 다른 프로세스에서 파일을 사용하고 있기 때문에 파일에 액세스 할 수 없습니다" 오류가 계속 발생하거나이 시나리오가 적용되지 않는 경우 아래의 다음 방법으로 이동하십시오.

방법 2 : 다른 IP 범위 설정

netsh를 사용하여 충돌 DNS 충돌을 해결하려고하는데 위의 방법이 도움이되지 않았다면 다른 접근 방식을 시도해보십시오.

동일한 오류 메시지를 해결하기 위해 고군분투하는 여러 사용자가 제외 범위를 만드는 대신 완전히 다른 IP 범위를 설정하려고 시도한 후 충돌이 해결되었음을 발견했습니다.

다음은 영향을받은 사용자가 DNS와 Quickbook 간의 충돌을 해결하기 위해 성공적으로 실행 한 몇 가지 명령입니다.

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

참고 : 명령을 실행중인 터미널에 관리자 권한이 있는지 확인하십시오.

이 방법으로 충돌이 해결되지 않았거나 발생한 상황에 적용 할 수없는 경우 마지막 방법으로 이동하십시오.

방법 3 : IIS 포트 충돌 해결

IIS MMC 스냅인 내에서 웹 사이트 항목을 마우스 오른쪽 단추로 클릭하는 동안 문제가 발생하는 경우 (시작을 클릭해도 아무 작업도 수행되지 않음) Netstat.exe 유틸리티를 사용하여 다른 프로세스가 있는지 확인해야합니다. 포트 80 및 포트 443을 사용합니다.

이 문제는 Microsoft IIS 6.0 및 7.0을 실행하는 컴퓨터에서 매우 일반적입니다. 공식 Microsoft 문서에 따르면 다음 조건 중 하나가 현재 상황에 적용되는 경우 오류 메시지가 나타납니다.

  • ListenOnlyList의 레지스트리 하위 키는 컴퓨터를 실행 IIS에서 제대로 구성되어 있지 않습니다.
  • 다른 프로세스는 IIS에 필요한 TCP 포트 (80) 또는 SSL 포트 (443)를 사용하고 있습니다.

이 문제를 해결하려면 다른 프로세스가 위에 지정된 포트를 사용하고 있는지 확인하기 위해 Netstat.exe 유틸리티 를 배포해야합니다 . 유틸리티에서 포트가 사용되지 않는 것으로 확인되면 ListenOnlyList 하위 키가 올바르게 구성되었는지 확인합니다.

다음은 전체 과정에 대한 단계별 가이드입니다.

  1. 보도 Windows 키 + R은 실행 대화 상자를 엽니 다. 그런 다음 " cmd "를 입력 하고 Ctrl + Shift + Enter 를 눌러 상승 된 명령 프롬프트를 엽니 다. UAC (사용자 계정 컨트롤) 에서 메시지가 표시되면 를 클릭 하여 관리 권한을 부여합니다.
  2. 관리자 권한 명령 프롬프트에서 다음 명령을 실행하여 Netstat.exe 유틸리티 를 시작 합니다.
    netstat -ano
  3. 돌아 오면 활성 연결 목록을 스크롤 하고 포트 50 및 443이 다른 프로세스에서 활발하게 사용되고 있는지 확인합니다.

    참고 : 포트가 다른 프로세스에서 활발하게 사용되고있는 경우 문제의 원인을 식별 할 수 있습니다. 이 경우 포트의 PID에 따라 포트 충돌을 해결하는 방법에 대한 특정 단계를 온라인에서 찾으십시오.

  4. 다음 단계에서는 관리자 권한이 필요하지 않으므로 상승 된 명령 프롬프트를 닫습니다.
  5. 포트가 활발하게 사용되지 않는 경우 Windows 키 + R 을 눌러 실행 대화 상자를 엽니 다. 그런 다음 ' regedit '를 입력 하고 Enter 를 눌러 레지스트리 편집기 를 엽니 다 . UAC (사용자 계정 제어) 에서 메시지가 표시되면 를 클릭 하여 관리 권한을 부여합니다.
  6. 레지스트리 편집기 내에서 왼쪽 창을 사용하여 다음 위치로 이동합니다.
    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ ListenOnlyList

    참고 : ListenOnlyList 하위 키가없는 경우 IP 주소 0.0.0.0 이 기본적으로 사용 되므로 새로 만들 필요가 없습니다 .

  7. 계속해서 ListenOnlyList 하위 키를 수정하기 전에 IIS를 실행하는 HTTP 서비스를 중지해야합니다. 잠시 후에 다시 돌아올 것이므로 레지스트리 편집기를 백그라운드에 둡니다.
  8. 그런 다음 Windows 키 + R 을 눌러 실행 대화 상자를 열고 ' cmd '를 입력 다음 Enter 를 눌러 다른 명령 프롬프트 창을 엽니 다.
  9. cmd를 프롬프트에서 다음 명령을 눌러 실행 입력 은 IIS를 실행하는 책임이있는 HTTP 서비스를 중지합니다 :
    net stop http
  10. 이 작업을 계속할지 묻는 메시지가 표시되면 'Y'를 입력하고 Enter 키를 눌러 작업을 확인합니다.
  11. HTTP 서비스가 비활성화되면 명령 프롬프트 창을 닫고 레지스트리 편집기로 돌아갑니다.
  12. 으로 ListenOnlyList의 선택 하위 키, 오른쪽 창까지 이동하고 유효한 IP 주소가 포함되어 있는지 확인합니다. 유효하지 않은 IP 주소를 발견하면 제거하거나 유효한 IP 주소가있는 항목을 반영하도록 수정하십시오.

    참고 : 경우에 ListenOnlyList의 하위 키가 존재하고 0.0.0.0 주소가 표시됩니다, 당신은 다른 모든 IP 주소를 삭제해야합니다.

  13. 레지스트리 편집기를 닫고 컴퓨터를 다시 시작하십시오.
  14. 다음에 시작할 때 HTTP 서비스가 자동으로 시작되어야합니다. 그러나 확인하기 위해 Windows 키 + R 을 눌러 다른 실행 대화 상자를 엽니 다. 그런 다음 " cmd "를 입력 하고 Enter 키 를 눌러 명령 프롬프트 창을 엽니 다.
  15. 새로 열린 명령 프롬프트에서 다음 명령을 입력하여 HTTP 서비스가 시작되었는지 확인합니다.
    순 시작 http

    참고 : "요청한 서비스가 이미 시작되었습니다."라는 메시지가 표시되면 이동하는 것이 좋습니다.

  16. Microsoft 인터넷 정보 서비스 (IIS) MMC (Microsoft Management Console) 스냅인에서 서비스를 시작해보십시오. 더 이상 '프로세스가 다른 프로세스에서 사용 중이므로 파일에 액세스 할 수 없습니다' 오류가 발생 하지 않아야합니다 .