Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

수정:다른 프로세스에서 사용 중이기 때문에 프로세스가 파일에 액세스할 수 없음

여러 Windows 사용자에게 "다른 프로세스에서 파일을 사용 중이기 때문에 해당 프로세스에서 파일에 액세스할 수 없습니다."가 발생합니다. 오류. 대부분의 경우 사용자가 netsh 명령어를 실행하려고 할 때 문제가 발생합니다. 일부 사용자는 IIS(Internet Information Services) 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와 Quickbooks 간의 충돌을 해결하기 위해 성공적으로 실행한 몇 가지 명령이 있습니다.

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의 경우 하위 키가 없으면 0.0.0.0의 IP 주소로 만들 필요가 없습니다. 기본적으로 사용됩니다.

  7. ListenOnlyList를 수정하기 전에 하위 키를 사용하려면 IIS를 실행하는 HTTP 서비스를 중지해야 합니다. 잠시 후 다시 돌아오므로 레지스트리 편집기를 백그라운드에 두십시오.
  8. 다음으로 Windows 키 + R을 누릅니다. 실행 대화 상자를 열려면 'cmd를 입력하십시오. '를 입력하고 Enter 키를 누릅니다. 다른 명령 프롬프트 창을 엽니다. 수정:다른 프로세스에서 사용 중이기 때문에 프로세스가 파일에 액세스할 수 없음
  9. Cmd 프롬프트에서 다음 명령을 실행하고 Enter 키를 누릅니다. 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 서비스가 시작되었는지 확인합니다.
    net start http

    참고: "요청한 서비스가 이미 시작되었습니다"라는 메시지가 반환되면 잘 진행한 것입니다.

  16. Microsoft 인터넷 정보 서비스(IIS) Microsoft 관리 콘솔(MMC) 스냅인에서 서비스 시작을 시도합니다. 더 이상 '다른 프로세스에서 파일을 사용 중이기 때문에 프로세스에서 액세스할 수 없습니다'가 표시되지 않습니다. 오류.