앱이 종료 된 후 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.