죽일 수없는 프로세스를 어떻게 죽일 수 있습니까?


13

응용 프로그램을 닫았지만 프로세스는 목록에 남아있었습니다. 작업 관리자에서 멈추려 고하지만 아무 일도 일어나지 않습니다. 오류 메시지가 없으며 프로세스는 목록에 그대로 있습니다. 디버깅하려고하지만 디버거는 말합니다.

충돌 프로세스에 첨부 할 수 없습니다. 요청한 작업이 지원되지 않습니다.

이것은 VS2008 및 일부 다른 프로그램에서 발생합니다.

종료하는 방법?


이것이 제가 리눅스로 전환 한 이유 중 하나입니다. Win XP에서이 문제가 발생했지만 그 이후로는 바뀌지 않은 것 같습니다.
petersohn

4
samba.2283325.n4.nabble.com/… 에 따르면 리눅스에서도 똑같은 상황이 있습니다. 커널에서 대기하는 프로세스는 불가능합니다. 이것이 제가 Windows로 전환 한 이유 중 하나입니다.
ta.speot.은 (는)

Mark Russinovich의 기사 "Unkillable Processes"에 따르면 로컬 커널 디버깅 도구를 사용하여 프로세스가 불가능한 이유 를 확인할 수 있다고합니다. 이 기사에서는 수행 할 작업에 대한 지침을 제공합니다. Windows 용 프리웨어 디버깅 도구 가 필요합니다 .
unforgettableidSupportsMonica

답변:


12

불행히도 유일한 유일한 해결책은 재부팅하는 것입니다.

나는이 문제도 가지고 있었고, 충돌 한 프로세스를 성공적으로 죽일 수있는 방법을 찾을 수 없었습니다. 나는 찾을 수있는 모든 pskill / similar 앱을 거의 시도했지만 모두 실패했습니다.

알다시피,이 문제의 가장 일반적인 원인은 문제가있는 프로세스가 시스템 드라이버를로드 한 다음 완료하지 못한 요청을 보냅니다. 충돌 된 드라이버가 프로세스 주소 공간에 액세스해야하는 IO 대기 상태에 있기 때문에 커널은 프로세스가 닫힐 때 프로세스에서 메모리를 올바르게 할당 해제 할 수 없습니다.

(대부분에서 cribbed) http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx


2
그렇습니다, 그것은 분명히 이런 종류의 일의 가장 흔한 원인입니다. 필자가 볼 수없는 대부분의 프로세스는 CD 드라이브 (예 :) EAC.EXE또는 TV 튜너 / 비디오 카드 (예 :)와 관련이있었습니다 ATIMMC.EXE. 두 경우 모두 운전자 결함으로 귀결되며, 운전자 작업을 배우고 수행 한 사람은 문제 수준이 어떻게 해당 레벨에 도달 할 수 있는지, 그리고 사용자 영역에서 어떤 종류의 "이상한"영향을 미쳤는지 알 수 있습니다 (최소한 BSOD는 결정적이고 명확합니다).
Synetech

1
@ Synetech Inc. -내가 가진 모든 문제는 디스크와 관련이 있거나 실제로 드라이버가 필요없는 소프트웨어와 관련이 있습니다 (커널이 커널에서 실행되어야한다고 결정한 이유는 없습니다). 나는 당신이 어떤 종류의 소프트웨어가 가장 자주 죽을 수없는 충돌인지에 대해 담요 진술을 할 수 있다고 생각하지 않습니다.
가짜 이름

3

Process Hacker 에는 기타 → 터미네이터 명령이있어 프로세스를 종료하는 여러 가지 방법을 시도합니다.

대부분의 시도에서 실패

자세한 설명

내 테스트 에서이 모든 것은 프로세스 해커를 잠그고 그것을 죽일 수없는 프로세스로 바꾸는 것이지만 경우에 따라 작동 할 수도 있습니다.


2
프로세스 해커에서 터미네이터가 제거되어 플러그인으로 이동되었습니다. 있었다 포럼 스레드 그것에 대해가. 관리자는 다음과 같이 주장했다. 어떤 사람들은 대답하고 동의하지 않았습니다.
unforgettableidSupportsMonica

나중에 dmex는 Terminator를 플러그인으로 옮겼습니다. 소스 코드는 여기에 있습니다 . 이 글을 쓰는 시점에는 아직 바이너리가 없습니다 . 바이너리가 릴리스되면 dmex 릴리스 페이지에 게시됩니다 .
unforgettableidSupportsMonica

1
방금 기능 요청을 제출하여 컴파일 된 버전의 Terminator를 요청했습니다. 현재로서는 2.39 이전의 모든 버전의 Process Hacker를 사용할 수 있다고 생각합니다. 예를 들어 여기에서 사용 가능한 버전 2.38을 사용할 수 있습니다 .
unforgettableidSupportsMonica

디버거가 연결되어 있고 죽이지 않는 이유도 있습니다. 기타를 감지하고 분리 디버거 추가
Ghita

2

때때로 프로세스가 리소스 나 스레드 또는 무언가에서 차단되어 종료하거나 해제하면 프로세스가 해제되고 프로세스가 종료 될 수 있습니다. 사용중인 탐색기에서 파일을 휴지통으로 삭제하면 실제로 사라지지 않고 멈추는 것처럼 보입니다 (사용 중 / 잠금 오류를 즉시 반환하지 않고). 5 초 이내에 잠긴 프로그램을 종료하면 파일이 갑자기 사라집니다.

나는 때때로 팝업 대화가 있거나 어떻게 든 숨겨져있는 프로그램에서 이런 일이 발생하는 것을 보았다. 대화 상자를 닫는 방법을 찾으면 스레드가 종료되어 프로세스가 종료됩니다.

나는 멀티 스레드 프로그래밍의 상대적으로 새로운 연습이 증가함에 따라 이와 같은 것들이 적어도 한동안 더 일반적이 될 것이라고 생각합니다.


0

사용중인 프로그램이 Windows Vista / 7 이전에 개발되었으며 변경 사항과 호환되지 않을 수 있습니다.

가장 좋은 방법은이 문제가있는 프로그램의 실행 파일을 찾아 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동 한 다음 호환성을 선택하고 마지막으로 Windows XP를 호환 모드로 선택하는 것입니다.


0

CMD를 관리자로 시작하고 taskkill을 사용하여 강제 종료하십시오. 예:

taskkill / F yourprogram.exe

또는

taskkill / F / im yourprogram.exe

CMD taskkill 구문에 문제가 있으면 taskkill /?를 입력하십시오.


1
슈퍼 유저에 오신 것을 환영합니다! 문제를 해결하는 데 도움이 될 수 있지만 문제를 해결하는 이유 및 / 또는 방법에 대해서는 설명하지 않습니다. 이러한 추가 맥락을 제공하면 장기적인 교육 가치가 크게 향상 될 것입니다. 매개 변수의 기능과 적용되는 제한 및 가정을 포함하여 설명을 추가하려면 답변을 편집하십시오. 감사.
fixer1234

오류 : PID 16872의 "AutoHotkeyU64_UIA.exe"프로세스를 종료 할 수 없습니다. 이유 : 실행중인 작업 인스턴스가 없습니다.
Shayan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.