시스템 프로세스 (PID 4)는 어떤 상황에서 열린 파일 핸들을 유지합니까?

StackOverflow https://stackoverflow.com/questions/1293398

  •  18-09-2019
  •  | 
  •  

문제

Windows 서버에서 실행되는 응용 프로그램은 제트/액세스 데이터베이스를 사용합니다. 2 주마다 데이터베이스 파일이 시스템 프로세스에 의해 잠겨있는 이유 (PID 4, 고정 된 것 같습니다)

일부 인터넷 검색 후 다른 사용자가 해당 특별 프로세스에서 파일을 잠그는 것을 발견했지만 다른 파일 (물론).

  • 시스템 프로세스가 열린 파일 핸들을 유지하는 일반적인 이유는 무엇입니까?
  • 내 응용 프로그램 이이 잠금 상황의 원인입니까?
  • 시스템 프로세스에 의해 모든 핸들이 암시 적으로 열리나요? 프로세스가 충돌 한 후에도 손잡이가 여전히 열려있을 수 있으며 시스템 프로세스가 어떻게 든 해당 핸들의 ownship을 취할 수 있다고 상상할 수 있습니다.
  • 응용 프로그램에서 발생하지 않도록 무언가를 할 수 있습니까?
도움이 되었습니까?

해결책

이것은 누출 손잡이가있는 드라이버 레벨 문제처럼 들립니다.

안티 바이러스 패키지를 실행하는 경우 업그레이드, 비활성화 (임시!) 또는 다른 브랜드로 전환하십시오.

다른 팁

공유를 통해 액세스 한 파일은 시스템 프로세스 (PID 4)에 의해 잠겨 있습니다.

열기를 시도하십시오 compmgmt.msc -> 시스템 도구 -> 공유 폴더 -> 열린 파일 잠긴 파일이 나열되어 있는지 확인하십시오

또한보십시오 Sysinternals 포럼 이것을 복제하는 방법.
모든 응용 프로그램이 파일을 열 때 파일을 잠그는 것은 아니지만 Excel은 그렇습니다. 액세스가 똑같이하는지 모르겠습니다 ...

내가 찾은 또 다른 원인은 다음과 같습니다.

Windows 7에는 BUG가 있으며 Windows Server 2008에있을 가능성이 있습니다 (아마도 64 비트 버전 만). 비활성화 할 때 표면 응용 프로그램 경험 서비스 및 질문에 설명 된 것과 동일한 문제를 일으 킵니다.

이 서비스를 다시 활성화하면이 문제가 해결되었습니다.

조금 더 많은 정보 여기 왜 문제가 발생하는지에 관해서.

관련된 것으로 보이는 기타 SO 질문 목록 :

원격 컴퓨터에서 공유 폴더로 남아있는 세션 일 수 있습니다. 이 경우 명령 줄에서 잠금을 해제 할 수 있습니다.

net session /delete

정기적 인 파일 백업을 수행하도록 서버가 설정되어 있습니까?

그렇다면 백업이 시스템으로 실행 되는가, 충돌을 일으킬 때 잠긴 파일을 촉구 할 수 있습니까?

저에게는 "Windows Defender"(안티 바이러스)였습니다. Windows Defender의 폴더 목록에서 Visual Studio 빌드 폴더를 제외하고 문제가 사라졌습니다. (Visual Studio는 EXE 파일로 빌드 할 수 없었고 PID 4는 Virii를 확인하기 위해 잠그고있었습니다)

나를 위해 나는 슬레지 해머로 그것을 때렸다. 폴더가 위치한 드라이브에서 CHKDSK /F가 고정되었습니다. 주의해서 사용하십시오.

각 폴더 및 하위 폴더의 보안 설정을 확인하십시오. 시스템이 누군가가 파일을 삭제할 수없는 특수 권한 설정 만 자동으로 생성하지 않았는지 확인하십시오. 명백히 이상한 이유 때문에 OS는 파일이 삭제되지 않도록하는 이상한 특별 권한 설정을 만듭니다.

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