작업 스케줄러가 작업을 종료하지 않습니다


6

때때로 중단되는 예약 된 작업이 있습니다. 응답하지 않습니다. Windows 2003에서는 3 시간 후에 작업을 종료하도록 작업 스케줄러를 구성했습니다. 32 비트 프로세스입니다.

Windows 2008 R2에서는 "보다 오래 실행되면 작업 중지"및 "요청시 실행중인 작업이 종료되지 않으면 강제로 중지"로 설정했습니다.

그러나 태스크가 정지되면 절대 중지되지 않으며 며칠 동안 프로세스 탐색기에 남아 있습니다.

Windows 스케줄러가 프로세스를 종료하지 않는 이유는 무엇입니까?

( 이 게시물 이 문제에 대한 재현 설정이 있습니다.)


여기서 진짜 질문은 무엇입니까?
HopelessN00b

@ HopelessN00b : Win2008이 "보다 오래 실행되면 작업 중지"설정보다 오래 실행될 때 예약 된 작업을 종료하지 않는 이유는 무엇입니까?
Andomar

여러 가지 이유로 시도하고 실패했기 때문입니다. 한 가지 이유는 없지만 권한이없고 작업이 종료 신호에 응답하지 않았으며 작업이 사용자 입력을 기다리거나 커널 리소스에 의해 잠기거나 커널 리소스를 기다리는 중 등이있을 수 있습니다.
HopelessN00b

@ HopelessN00b : 작업이 아무 것도 응답하지 않습니다. Win2008이 Win2003처럼 왜 종료하지 않습니까 (종료 프로세스)?
Andomar

내 이전 의견을 보시겠습니까?
HopelessN00b

답변:


10

대답은 64 비트 작업 스케줄러가 실제로 32 비트 작업을 종료하지는 않는다는 것입니다.

pskill예약 된 작업의 작업 1 로 실행하여이 문제를 해결했습니다 . pskill32 비트 프로세스를 디스패치하는 데 아무런 문제가 없습니다.


여기에 뭔가 빠진 것 같습니다. 어떻게 가지는 않는 pskill작업의 첫 번째 액션이 경우 시간이 초과 작업을 죽일 스케줄러를 사용 가능으로?
키트 Roed

@KitRoed : 작업이 중단되었다고 가정합니다. 그런 다음 다음에 실행이 시작되면 첫 번째 작업이 중단 된 작업을 종료합니다.
Andomar

1
정리해 주셔서 감사합니다. 그 접근 방식을 사용할 수 있습니다, +1!
키트 Roed

좋은 @Andomar. 당신은 당신 자신의 질문을하고 해결했습니다
user421501

2

"보다 오래 실행되면 작업 중지"바로 아래에 "요청시 실행중인 작업이 종료되지 않으면 강제로 중지합니다"라는 옵션이 있습니다. 두 번째 옵션이 체크되어 있습니까?


예, 해당 옵션이 선택되어 있습니다 (질문에 언급 된 바와 같이)
Andomar

남자, 나는주의를 기울이지 않았어야했다. 작업 스케줄러 GUI를 사용하여 수동으로 시작하고 수동으로 종료하는 경우 중지를 거부하는 이유에 대한 표시가 있습니까? "확실합니까?"라는 팝업이 나타날 수 있습니다. 당신이 할 수있는 또 다른 생각은 taskkill을 실행하고 이름으로 작업을 죽이는 것입니다 ..
MikeAWood

작업에 디버거를 연결했으며 타사 DLL에 매달려 있습니다. 아무것도 응답하지 않습니다. 문제는 작업 스케줄러를 사용하여, 그것을 죽이지 않는 이유 TerminateProcess에 상관없이 프로세스를 종료하지 않는, 무엇을
Andomar

별도의 자식 스레드로 DLL을 시작합니까? 하위 작업이 아닌 상위 작업 만 종료하기 때문에 작업이 종료되지 않을 수 있습니다. 예를 들어 "taskkill / T processname.exe"를 사용하여 부모 및 자식 프로세스를 종료합니다. 비록 taskscheduler가 자식 프로세스를 죽일 것으로 기대하지만. 매우 궁금합니다.
MikeAWood
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.