앱이 종료 된 후 SYSTEM이 실행 파일 핸들을 계속 잠그는 이유는 무엇입니까?


24

Windows 7 컴퓨터에서 이상한 동작이 나타납니다. 실행 파일이 실행될 때 SYSTEM은 다음 1 분 동안 핸들을 열어 둔 것으로 보입니다. 가장 최근의 만남은 다음과 같습니다.

Steam을 설치했는데 steam.exe 설치 후 시작하여 자체 업데이트됩니다. 임시 복사본 자체를 작성하고 다운로드를 시작한 다음 실행 파일의 원본을 덮어 써서이 작업을 수행하는 것 같습니다. 내 경우에는 steam.exe를 삭제할 수 없다고 주장하여 실패했습니다.

폴더를 열고 steam.exe를 수동으로 삭제하려고했지만 Windows가 권한이 없다고 주장했습니다. 내 계정은 관리자이며이 컴퓨터의 유일한 사용자 계정입니다. 그러나 경우에 따라 관리자로 탐색기를 시작했지만 여전히 파일을 삭제할 수 없습니다. 파일의 속성을 보안 탭으로 가져 왔지만 권한을 볼 수있는 권한이 없다는 메시지 만 표시되었습니다.

다음으로 파일에 잠금이 있는지 확인하기 위해 프로세스 탐색기를 불러 왔습니다. SYSTEM (PID 4)이 수행했지만 파일 핸들을 닫으려고 할 때 핸들이 유효하지 않다는 오류가 발생했습니다. 파일 핸들 속성을 보려고했지만 그럴 권한도 없었습니다.

종료 불가능한 시스템 프로세스를 제외한 모든 것을 종료하고 AV 및 방화벽 관련 모든 것을 포함하여 내가 할 수있는 모든 서비스를 중지했지만 문제는 계속 나타납니다. 'takeown'을 사용하여 파일의 소유권을 부여하려고 시도했지만 권한이 없다고 주장합니다. 다른 사람들은 'Unlocker'라는 도구를 사용하여 성공했다고 주장했지만 파일 핸들을 닫을 때 프로세스 탐색기와 동일한 문제가있었습니다.

오래 전에 Windows 인덱싱 및 검색을 비활성화하고 인덱싱에서 C : \를 제외 했으므로이 질문에 대한 답변 이 나에게 적용되지 않습니다.

대략 1 분 후에 핸들이 사라지고 파일이 즉시 삭제됩니다. 업데이트 프로그램의 삭제 시도가 대기열에 들어가서 파일이 더 이상 잠기지 않으면 완료된 것 같습니다. 불행히도 업데이트가 이미 종료되어 다시 시작할 수 없습니다. 그리고 다시 설치할 때 물론 steam.exe를 다시 실행하려고 시도하고 다시 사각형으로 돌아갑니다.

내 질문은 :이 핸들이 왜 걸려 있고 어떻게 방지 할 수 있습니까?

편집 : 의견에서 요청한 추가 정보는 다음과 같습니다.

C:\>fltmc instances
Filter                Volume Name                              Altitude        Instance Name      Frame  VlStatus
--------------------  -------------------------------------  ------------  ---------------------  -----  --------
KLIF                  \Device\Mup                             320400       KLIF                     0
KLIF                  C:                                      320400       KLIF                     0
KLIF                                                          320400       KLIF                     0
luafv                 C:                                      135000       luafv                    0
FileInfo              \Device\Mup                              45000       FileInfo                 0
FileInfo              C:                                       45000       FileInfo                 0
FileInfo                                                       45000       FileInfo                 0

편집 : GMER는 자체 GUI에서 비활성화하고 서비스가 중지되었지만 내 바이러스 백신 (Kaspersky)이 여전히 활성 상태임을 나타냅니다.

AttachedDevice  \Driver\tdx \Device\Ip     kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice  \Driver\tdx \Device\Tcp    kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice  \Driver\tdx \Device\Udp    kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice  \Driver\tdx \Device\RawIp  kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)

그러나 이것들은 모두 네트워크 서비스를위한 것 같습니다. 파일 시스템과 관련된 내용이 없습니다. 이것들 중 어떤 것이 문제의 원인 일 수 있습니까?

편집 : Kaspersky KLIF 필터를 비활성화했지만 잠금 문제는 남아 있습니다.

편집 : Steam.exe를 시작하기 전에 설치 프로그램을 설치하고 강제 종료 한 다음 안전 모드에서 다시 시작하고 실행하여 Steam의 특정 문제를 해결했습니다. 따라서 실행 파일을 잠그는 것은 안전 모드에 존재하지 않습니다.

이 특정 사례를 해결했지만 문제가 다른 곳에서도 발생하므로 여전히 무슨 일이 일어나고 있는지 이해하고 싶습니다.


3
"시스템"은 Windows 커널을 나타내는 의사 프로세스입니다. 구성에 대한 자세한 정보 (예 : 사용자의 필터 드라이버)는 명확한 대답을 제공해야합니다.
— 0xC0000022L

추가 정보를 얻는 가장 좋은 방법은 무엇입니까?
— DNS

미니 필터 인 fltmc경우 레거시 필터인지 확인 하여 필터링 된 개체를 나열하려면 GMER와 같은 도구가 필요합니다. 나는 그것이 GMER의 주요 목적이 아니라는 것을 알고 있지만 그렇게 사용할 수 있습니다. 이전에는 OSR의 도구가 있었지만 그 이름을 기억하지 못합니다. 내가 기억하면 다시 대답하겠습니다.
— 0xC0000022L

파일을 반복적으로 닫았다가 다시 여는 프로그램에 최적화되어 있습니다. "응용 프로그램 환경"서비스는 핸들이 여전히 캐시되어있는 동안 Windows 탐색기에서 삭제하려고하는 것과 같은 특수한 경우에 대한 최적화를 무효화합니다.
— user165568

답변:


20

다음을 수행하십시오.

  1. 문제가있는 위치에서 인덱싱을 비활성화하십시오.

  2. "응용 프로그램 경험"서비스를 활성화하고 "자동"으로 설정하십시오.

그게 다야.

그래도 문제가 지속되면 Superfetch 일 수 있지만 비활성화하면 운이 나지 않습니다.


5
# 2 ( "응용 프로그램 경험"서비스 활성화)가 도움이되었습니다. EXE를 반복적으로 다시 컴파일해야하기 때문에 LIVEditor (live html editor) 소프트웨어를 디버깅 할 때 정말 고통 스럽습니다.
— Edwin Yip

1
인덱싱은 비활성화하려는 것이 아니라 다행히도 응용 프로그램 환경을 자동으로 설정하는 것이 효과적이었습니다. 수정이 그렇게 간단했던 지난 5 년 동안이 문제를 경험했다고 믿을 수 없습니다.
— Mordred

과거 당신을 사랑합니다 !!
— enthus1ast

AeLookupSvc일을 시작 했지만 왜? 이 신비한 봉사는 무엇입니까?
— cdlvcdlv

6

KLIF는 카스퍼 스키 AV 드라이버입니다. 오히려 그것과 관련이있을 가능성이 높습니다.

이 경우 나의 행동 과정은 카스퍼 스키에 연락하여 조언을 구하는 것입니다.

그러나, 당신이 먼저 시도 할 수있는 또 다른 것이 있습니다 : 사용 안 함 (아래의 드라이버 HKLM\SYSTEM\CurrentControlSet\Services를 찾고에 의해) KLIF또는 키 이름으로 비슷한 및 설정 REG_DWORD이름 값 Start으로 4(사용 안 함을 의미), 다음 재부팅. 이로 인해 KAV 필터 드라이버가로드되지 않습니다. 그런 다음을 사용 fltmc하여 결과를 확인할 수 있습니다.

제공 한 GMER의 출력은 파일 작업이 아닌 네트워크 연결에만 영향을 미치므로 현재 상황과 관련이 없습니다. 카스퍼 스키 인터넷 시큐리티와 같은 것을 설치 한 것 같습니다 (또는 여전히 컴퓨터에 휴면 상태입니다).

편집 : FYI만이 luafvUAC와 함께 FS 가상화를 담당합니다. 즉, 파일에 액세스 할 수없는 경우 파일 내의 별도 폴더에 저장됩니다. FileInfo는 실제로 문제의 일부일 수있는 SuperFetch에 속하지만 Windows 7에서도 비슷한 문제가 발생하지 않았습니다. 일반적으로 SuperFetch를 비활성화하지 않는 것이 좋습니다.


해당 키의 값을 변경할 수 없으므로 안전 모드에서 다시 시작하여 변경했습니다. 다시 시작하면 KLIF 항목이 fltmc 출력에서 ​​사라지지만 잠금 문제는 남아 있습니다.
— DNS

정보를 조금 더 추가했습니다. 질문에 대한 최근 편집 내용을 참조하십시오.
— DNS

@ DNS : fltmc안전 모드에서 출력을 얻으려고 했습니까? SuperFetch가 활성화되지 않았을 가능성이 있습니다. SuperFetch를 읽으면 핸들을 조금 더 길게 잡는 것에 대한 설명처럼 들릴 수 있습니다.
— 0xC0000022L

아주 좋은 생각이지만 FileInfo와 luafv는 모두 안전 모드에서 활성화되었습니다.
— DNS

이 현대적인 "인터넷 보안"제품군은 과장된 일이 거의 없습니다. MSE + 상식이면 충분합니다.
— kinokijuf 2016 년

1

Java Executable이 열린 상태 에서이 문제가 발생하여 응용 프로그램 환경을 비활성화했습니다 (Windows 검색도 비활성화 됨) 자동으로 응용 프로그램 환경을 설정하여 문제를 해결했습니다. 감사!!! (또한 1 분 동안 파일이 저장되지 않고 파일을 닫은 후 1 분이 지나야 파일을 삭제할 수없는 문제가 발생했습니다 ...


응용 프로그램 경험을 어떻게 비활성화합니까?
— Simon Sheehan

모든 Windows 서비스 제어 지점에서 수행합니다. 시작 >> 실행 >> "services.msc"(입력) >> "응용 프로그램 경험"을 마우스 오른쪽 버튼으로 클릭 >> "속성"왼쪽 클릭 >> "일반"탭 선택 (기본값)> > "시작 유형"목록 상자 드롭 다운 >> 자동 선택 (왼쪽 클릭) >> "적용"클릭
— David K

1

이것은 한 번 나에게 일어 났으며 공유 폴더가 열린 원격 컴퓨터로 판명되었습니다.

  1. 핸들 을 사용 하여 파일을 보유하고있는 프로세스를 찾으십시오.
  2. (제 경우에는 시스템이었습니다)
  3. 핸들을 닫으십시오 : handle.exe -c E14 -p 4. 파일 핸들은 파일 핸들 검색 결과에서 찾을 수 있으며 프로세스 ID는 시스템에서 동일 할 것입니다.
  4. 출력 Error closing handle: T
  5. 인터넷 검색,이 네트워크와 관련이 발견
  6. 다른 컴퓨터에서 찾았습니다. 실제로 폴더를 열었습니다. 닫았습니다. 문제 없다.

0

폴더 이름을 바꾸려고 할 때이 문제가 발생했습니다. 이름 바꾸기를 수행하는 동안 서버 서비스를 중지해야했습니다. 서버 서비스가 다시 시작하자마자 시스템 프로세스가 폴더를 다시 잠그기 때문에 다시 시작해도 도움이되지 않았습니다. 이것은 여기에 언급 된 문제를 해결할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.