2011-04-08 6 views
4

우리는 Windows 2003/2008 서버에서 실행되는 몇 가지 응용 프로그램을 보유하고 있습니다. 이러한 응용 프로그램 중 일부는 app.cmd 파일을 사용하여 Scheduled Task으로 시작되는 Java JAR 파일입니다..NET에서 앱 실행 모니터링?

기타는 SQL Server 및 IIS와 같이 "큰 것"입니다.

단순히 프로그램을 모니터링하고 실행 여부를 확인하는 앱 (또는 실제로는 서비스)을 작성하고 싶습니다.

이것은 이전에 해왔 던 것 이상입니다. 아, C#으로 작성해야합니다.

"heart beat"패턴을 생각하고 있었기 때문에 몇 분마다 스레드가 실행 중인지 (다시 말하면 새로운 고급 스레딩) 확인하고, 그렇다면 "All 's OK"메시지를 보냅니다. SMTP 또는 뭔가).

어디서부터 시작해야할까요?

의견을 보내 주셔서 감사합니다.

답변

2

당신은 Process.GetProcesses()를 사용할 수 있습니다

사용이 방법을 새로운 프로세스 구성 요소의 배열을 생성하고 로컬 컴퓨터에있는 모든 프로세스 자원을 연결합니다. 당신은 단지 SQL Server 프로세스의 실존을 확인 수 있지만

2

당신은 아마 당신이 쿼리를 실행 더 나을 것 exaple를 들어, 경우에 따라 각 응용 프로그램을 처리해야하는 (예를 들어) 서버에서 주어진 데이터베이스의 존재를 검사합니다.

마찬가지로 당신은 ... 권한이 올바르게 등 설정되어 있는지 확인 확인 당신이에 달려 자바 프로세스를 테스트

분명히

방법을 IIS 서버에 대한 간단한 HTTP 요청을 실행할 수 있습니다 무엇을 비록 프로세스가 실행되고 있는지를 확인할 수는 있지만 (서비스로 실행중인 경우 svchost.exe 프로세스 중 하나에서 실행 중일 수 있습니다 - 이것은 예약 된 작업에는 적용되지 않습니다) .