문제

이 문제는 때때로 직장에서 자랐습니다. 빌드 머신에는 일반적인 Windows 파일 공유를 통해 파일에 액세스 할 수 있습니다. 누군가가 기계에서 원격으로 폴더를 탐색하고 밤새 창을 열어두면 빌드가 실패합니다 (지금 한 것처럼). Explorer 창은 소스 트리의 하위 폴더 중 하나에서 열린 지점을 열었습니다. 빌드는 소스를 삭제하고 건축하기 전에 깨끗한 체크 아웃을합니다. 삭제가 실패합니다.

지금은 빌드를 작동시키고 싶습니다. 나는 집에서 로그인했으며 빌드 머신을 재부팅하지 않겠습니다. 나는 기계를 찾고있는 사람과 파일을 붙잡을 수 없으며 기계를 원격으로 재부팅 할 수 없습니다.

Windows 공유에 잠금 장치가 있으면 잠금 프로세스는 시스템이므로 정상적인 잠금 장치와 마찬가지로 죽일 수 있다고 생각하지 않습니다.

누구든지 기계를 재부팅하지 않고 공유 폴더의 잠금을 해제하는 방법을 알고 있습니까?

도움이 되었습니까?

해결책 2

해결책을 찾았습니다.

  1. 사용 프로세스를 찾으십시오 프로세스 탐색기:

    1. 다운로드 및 추출 procexp.exe
    2. 프로세스 탐색기에서 "찾기"메뉴에서 "핸들 또는 DLL 찾기 ..."명령을 사용합니다.
    3. 삭제에 문제가있는 디렉토리의 이름으로 입력하십시오.
    4. 해당 이름과 일치하는 열린 파일 목록이 표시되어야합니다. 추측을하고 삭제되지 않은 것을 찾으십시오. 파일이 Windows 공유에 의해 잠겨 있으면 파일을 보유한 프로세스는 시스템이됩니다.
    5. 열린 디렉토리를 문의하십시오
  2. 잠금 해제를 다운로드하여 설치합니다 (경고: 맬웨어가 포함되어 있으므로 링크가 제거되었습니다)

    1. 잠금 해제 설치, Explorer Extensions 및 기타 정크 옵션 비활성화
  3. 디렉토리를 잠금 해제하십시오

    1. CMD 창을 열고 C : Program Files Unlocker로 이동
    2. CMD 창에서 Unlocker.exe를 실행하십시오.
    3. 대화 상자가 팝업되어 잠금 해제를 확인합니다. 잠금 해제 버튼을 사용하여 파일을 잠금 해제하십시오

이제 디렉토리를 잠금 해제하고 이제 삭제할 수 있습니다.

다른 팁

네트워크를 통해 파일을 공유하는 서버에서 관리자 인 경우 Windows 내에서 제작 된 기능을 사용할 수 있습니다.

  1. 시작 → 내 컴퓨터 → 마우스 오른쪽 버튼을 클릭 → 관리 관리 콘솔로 연결됩니다.
  2. 왼쪽 NAV에서 시스템 도구 → 공유 폴더로 이동
  3. 여기에서 주식, 세션 및 열린 파일을 볼 수 있습니다. 이를 통해 어떤 워크 스테이션에서 어떤 파일을 열었는지 알 수 있습니다.
  4. 파일 잠금을 제거 할 수 있도록 목록의 항목을 마우스 오른쪽 버튼으로 클릭하십시오.

도움이 되었기를 바랍니다.

프로세스 해커 시도 :https://wj32.org/processhacker/

프로세스 해커는 스테로이드의 프로세스 탐색기와 같습니다.

에게 찾기 불쾌한 프로세스에서 Ctrl+F를 누르거나 "DLLS 찾기"버튼을 클릭하고 파일 이름을 검색하십시오.

찾기 손잡이 대화 상자에서 파일을 찾으면 파일을 마우스 오른쪽 버튼으로 클릭하고 "Close"를 선택할 수 있습니다. (적어도 v2.39.124의 경우)

이전 버전에는 프로세스의 컨텍스트 메뉴에 "터미네이터"옵션이있었습니다. 불쾌한 프로세스를 마우스 오른쪽 버튼으로 클릭하십시오 -> Miscellaneous --> Terminator --> 종료 기술을 선택하십시오. 일부는 위험 할 수 있으며 의도하지 않은 결과를 초래할 수 있습니다.

나는 비슷한 문제가 있었으며, 위에서 본이 제안들 중 어느 것도 자동화 된 하룻밤 빌드 (원래 포스터가 암시 한 것처럼)에 적합하지 않은 것으로 보입니다.

내가 시도한 유일한 방법은 안정적으로 작동하는 것처럼 보이는 유일한 방법은 주식 자체를 제거하고 빌드를 만들고 공유를 다시 추가하는 것입니다. 다음은 주식을 자동으로 제거하는 한 가지 방법입니다.

D : Projects> NET 공유 프로젝트 /삭제 /Y

사용자는 프로젝트에 열린 파일이 있습니다. 작업을 계속하면 파일이 닫힙니다.

프로젝트가 성공적으로 삭제되었습니다.

(참고 : 공유를 다시 만들어야하는 특권 그룹이 지저분한 경우 자동으로 고통이 될 수 있습니다.)

내가하는 방식은 둘 다 사용하는 것입니다 OpenFiles.exe 그리고 핸들 .exe당신은 어떤 순서로든 그것을 실행할 수 있으며 자원을 완전히 잠금 해제 할 수 있습니다.

OpenFiles : 파일 공유 세션을 분리합니다

handle.exe : 오픈 핸들을 해제하려면 (시스템 프로세스이므로 PID4에 속하는 핸들을 닫으려고하지 마십시오)

PowerShell, Batch 또는 원하는 언어를 사용하여이를 자동화 할 수 있습니다.

또 다른 옵션은 Windows Vista에서 시작하여 시스템에 내장 된 Windows 도구를 사용하는 것입니다.

리소스 모니터 : perfmon.exe /res

추출 : : http://www.sysadmit.com/2017/06/windows-how-to-know-that-process-has-open-a-file.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top