2009-08-13 2 views
2

Windows 프로세스를 모니터링하고 실행 중이 아니면 어떻게 시작합니까? Windows 서비스로 시작하여 여러 프로세스를 처리 할 수있는 무언가를 갖고 싶습니다.Windows에서 프로세스 모니터링

편집 : 는 다행스럽게도 필자가 사용하고 바로 조정할 또는 그 대신 처음부터 그것을 구현 할 필요없이 구성 할 수 있습니다 라이브러리/구성 요소를 사용할 준비가 있습니다. 나는 * nix 세계에서 두 개의 유명한 패키지를 알고있다 : 신과 monit.

답변

4

현재 프로세스 목록을 감시하는 Windows 서비스를 만들 수 있습니다.

EnumProcesses은 현재 실행중인 프로세스를 보는 방법을 제공합니다. 많은 API를 포함, 새로운 프로세스를 시작하는 데 사용할 수 있습니다

  • 시스템()
  • _exec()
  • WinExec()
  • 에서 ShellExecute()/ShellExecuteEx에()
  • CreateProcess를()
  • 에 CreateProcessAsUser()
  • CreateProcessWithLogonW()
01,

다른 언어/프레임 워크를 사용하는 경우에는 종종 위의 래퍼를 제공합니다.

+0

(바퀴를 재발 명할 필요없이) 이미 수행 한 작업에 대해 알고 있습니까? –

+0

아니요. 그러나 .NET 언어로이 작업을 수행하는 것은 매우 간단합니다. 코드를 50 줄 미만으로 처리하는 서비스를 만들 수 있습니다. (위의 함수 대부분은 Process 클래스와 같이 System.Diagnostics 네임 스페이스에 높은 수준의 래퍼를 가지고 있으므로이 작업이 간단합니다.) –

관련 문제