2008-09-12 5 views
1

Windows 상자의 C#에서 프로세스가 중단 된 방법을 확인할 수있는 방법이 있습니까? Process 클래스를 살펴본 후 EnableRaisingEvents = true로 설정하면 Exited 이벤트에서 친절한 콜백을 얻을 수있었습니다. 그러나 나는 그 과정이 죽었는지 아니면 자연적으로 빠져 나가는지를 알아낼 수 없었다.프로세스가 어떻게 종료 되었습니까?

답변

3

프로세스 모니터 (Sysinternals, Microsoft의 일부)에서 프로세스를 실행하여 죽게 한 다음 프로세스 이름으로 프로세스 모니터 결과를 필터링하십시오. 프로세스 이름을 종료를 포함하여 모두 볼 수 있습니다 코드.

0

해당 프로세스의 반환 코드를 사용할 수 있습니다. 프로세스가 Main 메서드에서 0이 아닌 값을 반환하면 프로세스가 자체적으로 종료했는지 (반환 값이 일치하는지) 확인할 수 있습니다.

0

좋은 답변 앙투안, 슬프게도 나는 반환 코드를 바꿀 수 없다. 내 잘못 - 나는 질문의 범위를 좁힐 필요가 있다고 생각한다.

현실적으로 나는 심지어 프로그래밍 방식의 솔루션이 필요 없다고 생각한다. 유틸리티는 괜찮을 것이다. 나는 인상적인 모습을 보았다. Process Explorer하지만이 점은 나에게 이러한 세부 사항을 제공하지 않는 것으로 보인다.

문제는 내가 조사하려는 프로그램이 Windows 예약 된 작업과 동등한 스케줄링 시스템에 의해 실행되고 있지만 문제는 아닙니다. 해당 스케줄러가 강제로 프로그램을 중지하는지 여부를 감지하는 방법이 있습니까?

관련 문제