Windows에 대해 끝이없는 한 가지는 오래된 공유 위반 오류입니다. 종종 무엇이 열려 있는지 파악할 수 없습니다. 일반적으로 관련 디렉토리를 가리키는 편집기 또는 탐색기 일뿐이지만 때로는 컴퓨터를 다시 부팅해야했습니다.
범인을 찾는 방법에 대한 제안?
Windows에 대해 끝이없는 한 가지는 오래된 공유 위반 오류입니다. 종종 무엇이 열려 있는지 파악할 수 없습니다. 일반적으로 관련 디렉토리를 가리키는 편집기 또는 탐색기 일뿐이지만 때로는 컴퓨터를 다시 부팅해야했습니다.
범인을 찾는 방법에 대한 제안?
답변:
Sysinternals Process Explorer에서 성공했습니다 . 이를 통해 파일을 열어 놓은 프로세스를 찾아서 원하는 경우 핸들을 닫을 수 있습니다. 물론 전체 프로세스를 닫는 것이 더 안전합니다. 주의하고 판단하십시오.
특정 파일을 찾으려면 파일 Find->Find Handle or DLL...
경로의 일부에 메뉴 옵션 유형을 사용 하십시오. 프로세스 목록이 아래에 나타납니다.
명령 행을 선호하는 경우 Sysinternals 제품군에는 열린 핸들을 나열 하는 명령 행 도구 Handle이 포함됩니다 . 사용 방법에 대한 몇 가지 예 :
c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\
-드라이브 E에서 열린 모든 파일을 찾으십시오.c:\Program Files\SysinternalsSuite>handle.exe |findstr /i file-or-path-in-question
Windows 7, 8 및 10에 기본 제공되는 리소스 모니터 를 사용할 수 있습니다 .
핸들을 찾으면 이미지 및 / 또는 PID 열을보고 프로세스를 식별 할 수 있습니다.
그런 다음 평상시처럼 응용 프로그램을 닫으려고 시도하거나 불가능한 경우 핸들을 마우스 오른쪽 단추로 클릭하고 프로세스를 직접 종료하십시오. 쉬워요!
내 원래 답변에서 복사 : https://superuser.com/a/643312/62
resmon
cmd에서 직접 실행
핸들을 닫을 때 매우 조심하십시오. 핸들 재활용 때문에 생각보다 훨씬 위험합니다. 파일 핸들을 닫고 프로그램이 다른 것을 열면 닫은 원래 파일 핸들이 "다른 것"으로 재사용 될 수 있습니다. 이제 파일 핸들이 이제 다른 것을 가리키고있을 때 프로그램이 파일에서 작업하고 있다고 생각하면서 프로그램이 계속 진행되면 어떻게 될지 추측하십시오.
이 주제에 대한 Raymond Chen의 게시물 을 참조하십시오
검색 색인 서비스에 색인 작성을 위해 파일이 열려 있지만 임시로 멈췄으며 파일을 삭제하려고하므로 (현명하지 않게) 핸들을 강제로 닫으십시오. 검색 색인 서비스는 일부 정보를 기록하기 위해 로그 파일을 열고 삭제 된 파일에 대한 핸들은 로그 파일에 대한 핸들로 재활용됩니다. 멈춤 조작이 최종적으로 완료되고 검색 색인 서비스가 마지막으로 열린 핸들을 닫아 버려 결국 로그 파일 핸들을 실수로 닫습니다.
검색 색인 서비스는 다른 파일 (예 : 구성 파일)을 열어 지속적 상태를 업데이트 할 수 있습니다. 로그 파일의 핸들은 구성 파일의 핸들로 재활용됩니다. 검색 색인 서비스는 일부 정보를 로그하려고하므로 로그 파일에 씁니다. 불행하게도, 로그 파일 핸들이 닫히고 핸들이 구성 파일에 재사용되었습니다. 기록 된 정보는 구성 파일에 들어가 손상됩니다.
한편 강제로 닫은 다른 핸들은 뮤텍스 핸들로 재사용되어 데이터 손상을 방지하는 데 사용됩니다. 원래 파일 핸들이 닫히면 뮤텍스 핸들이 닫히고 데이터 손상에 대한 보호 기능이 손실됩니다. 서비스가 오래 실행 될수록 인덱스가 더 손상됩니다. 결국 누군가는 색인이 잘못된 결과를 반환한다는 것을 알게됩니다. 또한 서비스를 다시 시작하려고하면 구성 파일이 손상되어 실패합니다.
검색 색인 서비스를 작성하는 회사에 문제점을보고하고 색인이 손상되었거나 로그 파일이 로그 기록을 신비하게 중지했으며 구성 파일을 가비지로 겹쳐 쓴 것으로 판별합니다. 일부 불량 기술자에게는 서비스가 인덱스와 구성 파일을 손상시키는 이유를 파악하는 희망없는 작업이 할당되며, 손상의 원인이 핸들을 강제로 닫았는지 알지 못합니다.
Lockhunter ( http://lockhunter.com/ )는 32 및 64 비트 시스템에서 작동합니다.
명확히하기 위해 이것은 Windows 자체의 것보다 CreateFile API 호출을 올바르게 사용하지 않는 타사 앱의 오작동의 결과 일 가능성이 큽니다 . 아마도 CreateFile 디자인의 결과 일지 모르지만 완료되었으므로 되돌릴 수 없습니다.
기본적으로 Windows 프로그램에서 파일을 열 때 공유 액세스를 허용하는 플래그를 지정할 수 있습니다. 플래그를 지정하지 않으면 프로그램은 파일에 독점적으로 액세스합니다.
탐색기가 여기에 범인 인 것처럼 보이면 실제로 표면에있을 수 있으며 실제 범인은 자신의 목적으로 폴더의 모든 파일을 여는 쉘 확장명을 설치하는 것일 수도 있습니다. gung-ho가 그렇게하거나 그 후에 제대로 정리되지 않습니다. 시만텍 AV는 이전에이 작업을 수행 한 것으로 보았으며 다른 AV 프로그램도 비난을 받아도 놀라지 않을 것입니다. 소스 제어 플러그인에 결함이있을 수 있습니다.
따라서 실제로 대답은 아니지만 잘못 작성된 타사 프로그램 (암시 적 파일 잠금이있는 다른 OS에서도 발생할 수 있지만 유닉스 기반 OS는 공유 액세스 권한을 가지고 있음)에 대해 Windows를 항상 비난하지 않는 몇 가지 조언 기본).
원격 서버에서 네트워크 공유를 확인할 때 컴퓨터 관리 콘솔처럼 간단한 정보가이 정보를 표시하고 파일을 닫을 수 있습니다.
파일 열기를 유지 한 Apropos Explorer : "삭제해야하는 파일에서이 문제가 발생하면 핸들을 강제로 닫거나 재부팅 할 수 있습니다."
탐색기를 종료하면됩니다.
이것이 일회성이라면 (Explorer는 일반적 으로이 파일을 열어 두지 않습니다) 로그 오프하고 다시 로그온하면 트릭을 수행합니다.
그렇지 않으면 데스크톱 탐색기 프로세스를 종료하고 사라지는 동안 원하는 작업을 수행하십시오. 먼저 cmd.exe의 사본을 시작하십시오 (원하는 정리를 수행하려면 UI가 필요합니다). 데스크탑이 아닌 탐색기가 실행되고 있지 않은지 확인하십시오. 그런 다음 작업 관리자와 같은 마지막 탐색기를 종료하십시오. 명령 프롬프트에서 원하는 것을 수행하십시오. 마지막으로 명령 프롬프트에서 탐색기를 실행하면 바탕 화면이됩니다.
일부 시스템 트레이 프로그램이 셸 재시작을 처리 할 수없는 경우 약간의 불쾌감이있을 수 있습니다.
Process Hacker 를 사용하면 파일을 쉽게 보유하고있는 프로세스를 식별 할 수 있습니다.
위의 답변은 프로그램 프로세스가 파일 핸들을 열린 상태로 유지하는 상황을 다룹니다. (다행히도) 대부분의 경우-(현재이 시스템에서 발생하는) 시스템 자체에 파일 핸들이 있습니다. 열다.
위의 프로세스 탐색기에서 파일 핸들 보유 프로세스를 찾기위한 지시 사항을 따르고 프로세스 이름이 '시스템'으로 나열되어 있는지 또는 자원 모니터를 사용하여 지시 사항을 따르고 이미지가 표시되지 않음을주의하여이 상황을 식별 할 수 있습니다. 관심있는 파일에서 파일 핸들을 열어 두십시오 (물론 파일을 편집 / 삭제할 수 없기 때문에 무언가가 있습니다).
그런 경우, (내가 아는 한) 귀하의 옵션은 다시 시작하거나 해당 파일로 작업을 잊어 버리는 것입니다.
나는 Jeremy Zawodny의 블로그에 의해 얼마 전 Exteneded Task Manager를 켰고 프로세스에 대한 추가 정보를 추적하는 데 좋습니다. 위와 같이 프로세스 탐색기, 특히 표준 작업 관리자가 종료하지 않는 프로세스 종료의 경우 +1.
FILEMON 도구가 있으며 열린 파일과 핸들을 보여줍니다. 실시간으로 시청하면 디스플레이를 따라 가기가 어렵습니다. 그러나 실시간 표시를 중지하고 모든 파일 열기 / 쓰기 활동을 볼 수 있습니다. 현재 Microsoft가 소유하지만 원래 Sysinternals가 소유