문제

Windows 상자의 C#에서 프로세스가 어떻게 중지되었는지 알아낼 수 있는 방법이 있습니까?나는 ~을 살펴보았다. 프로세스 클래스를 설정한 후 Exited 이벤트에서 친근한 콜백을 받았습니다. EnableRaisingEvents = true; 하지만 프로세스가 종료되었는지 아니면 자연스럽게 종료되었는지 확인하지 못했습니다.

도움이 되었습니까?

해결책

프로세스 모니터(Microsoft의 일부인 Sysinternals)를 실행하고 프로세스를 실행한 후 프로세스 이름별로 프로세스 모니터 결과를 필터링하면 종료 코드를 포함하여 프로세스 모니터가 수행한 모든 작업을 볼 수 있습니다.

다른 팁

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

좋은 답변입니다. 안타깝지만 반환 코드를 변경할 수 없습니다.안타깝습니다. 질문의 범위를 좁혀야 할 것 같습니다.

현실적으로 프로그래밍 방식의 솔루션도 필요하지 않다고 생각합니다. 유틸리티라면 괜찮을 것입니다. 인상적인 모습을 살펴보았습니다. 프로세스 탐색기 하지만 그것은 나에게 이러한 세부 사항을 제공하지 않는 것 같습니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top