DLL 다른 프로세스에서 사용 중이므로 프로세스에서 액세스할 수 없습니다.

  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

DLL 다른 프로세스에서 사용 중이므로 프로세스에서 액세스할 수 없다는 오류메세지를 보신적이 있다면 이 글을 꼭 참고 하시기 바랍니다. 흔히 이 오류는 DLL 파일을 다른 프로세스에서 선점하고 있어서 파일을 삭제하고 싶어도 삭제가 안되는 경우가 있습니다.

DLL 다른 프로세스에서 사용 중이므로 프로세스에서 액세스할 수 없습니다.

다른 프로세스에서 사용 중

다른 프로세스에서 사용 중이라는 오류 메세지는 흔히 DLL 파일, 또는 이미지 파일에서 발생하는 경우가 많습니다. 프로그램이 파일을 선점하면 나타나게 다른 프로그램은 해당 파일에 접근할 수 없기 때문에 이런 오류가 나타납니다.

DLL 다른 프로세스에서 사용 중인 경우 참조중인 프로세스 찾는 법 2가지

우선 DLL 파일을 예로 들어서 설명을 해보도록 하겠습니다. A.DLL 이라는 파일을 어느 프로세스가 선점하고 있어서 파일이 삭제가 안되는 경우가 있을 수 있는데, 이때 어느 프로세스에서 A.DLL 파일을 선점하고 있는지 알아내는 방법입니다.

Process Explorer

프로세스 익스플로러를 이용하여 DLL을 참고하고 있는 프로세스를 찾을 수 있습니다. 그러려면 우선 Process Explorer 프로그램이 준비되어야 합니다. Sysinternals suite라는 패키지에 포함되어 있고 마이크로소프트에서 무료로 배포되고 있으니 아래 경로에서 다운로드 받아서 사용하시면 됩니다.

Sysinternals Suite 다운로드

Process Explorer의 실행파일명 2가지

  • procexp.exe
  • procexp64.exe

아래는 Process Explorer가 실행된 모습니다. 윈도우에서 실행되고 있는 모든 프로세스에 대한 정보가 표시되며, 특정 DLL 파일을 참조하고 있는 프로세스가 무엇인지 알아내기 위해서는 Find -> Find Handle or DLL 메뉴를 이용합니다.

Process Explorer Search 팝업이 실행되면 dll 파일명을 입력하고 Search 버튼을 누르면 dll을 참조 하고 있는 프로세스 또는 프로세스 리스트가 표시됩니다.

tasklist 명령어

프로세스를 찾는 두번째 방법은 윈도우 명령창에서 tasklist 라는 명령어를 실행하면 됩니다. 참조하고 있는 프로세스의 이름과 PID 알아낼 수 있습니다.


tasklist /m [dll 파일명]

이렇게 DLL 참조하고 있는 프로세스를 찾아내서 종료 후, DLL 파일 삭제 처리를 하시면 되겠습니다.

tasklist 사용방법

TASKLIST [/S 시스템 [/U 사용자 이름 [/P [암호]]]]
         [/M [모듈] | /SVC | /V] [/FI 필터] [/FO 형식] [/NH]

설명:
    이 도구는 로컬 또는 원격 시스템에서 현재
    실행되고 있는 프로세스 목록을 표시합니다.

매개 변수 목록:
   /S     시스템           연결할 원격 시스템을 지정합니다.

   /U     [도메인\]사용자  명령을 실행해야 하는 사용자 컨텍스트를
                           지정합니다.

   /P     [암호]           해당 사용자 컨텍스트의 암호를 지정합니다.
                           생략한 경우에는 물어봅니다.

   /M     [모듈]           해당 exe/dll 이름을 사용하는 모든 작업을
                           나열합니다. 모듈 이름을 지정하지 않으면
                           로드된 모든 작업을 나열합니다.

   /SVC                    각 프로세스에 호스트된 서비스를 표시합니다.

   /APPS                   Microsoft Store 앱과 관련 프로세스를 표시합니다.

   /V                      자세한 작업 정보를 표시합니다.

   /FI    필터             필터에서 지정한 조건과 일치하는
                           작업 집합을 표시합니다.

   /FO    형식             출력 형식을 지정합니다.
                           사용할 수 있는 값: "TABLE", "LIST", "CSV".

   /NH                     출력에 표시하지 않을 "열 머리글"을
                           지정합니다.
                           "TABLE"과 "CSV" 형식에서만 사용할 수 있습니다.

   /?                      도움말 메시지를 표시합니다.

tasklist 사용 예시

    TASKLIST
    TASKLIST /M
    TASKLIST /V /FO CSV
    TASKLIST /SVC /FO LIST
    TASKLIST /APPS /FI "STATUS eq RUNNING"
    TASKLIST /M wbem*
    TASKLIST /S 시스템 /FO LIST
    TASKLIST /S 시스템 /U domain\username /FO CSV /NH
    TASKLIST /S 시스템 /U 사용자 이름 /P 암호 /FO TABLE /NH
    TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"

댓글 남기기

error: 저작권 콘텐츠보호를 부탁드립니다.