Win32 API를 사용하여 작업 모니터/관리자를 빌드하려고합니다. 시작해야하는 새 프로세스의 인스턴스 수를 지정하는 명령 줄 인수로 시작됩니다 (Windows 서비스). C++의 작업 모니터 및 관리자
task_man.exe 40
는 task.exe 종료 (제대로 여부가), 나는 그것을 대체 할 새로운 하나를 시작해야합니다 때마다 프로세스를 이제
task.exe
, 40 개 인스턴스를 시작합니다. PID를 사용중인 모든 프로세스가 있는지 여부를 확인하는 루프를 다음 자신의 PID를 얻을, 그리고
시작 task_man에서 작업 :
내 거친 생각이에게 있습니다. 유효하지 않은 모든 PID에 대해 새 프로세스를 시작하고 이전 PID를 새 PID로 대체하십시오.
내가 사용할 수있는 더 좋은 디자인이나 더 나은 워크 플로우가 있습니까? 이 작업을 수행하기위한 표준 방법이 있습니까? 나는 바퀴를 재발 명하고 싶지 않다 ... 또한 어떤 API를 조사해야 하는가? 나는 또한 나중에 쉽게 변경할 수있는 디자인을 찾고 있어요
- 내가 나중에
task_man.exe 30
를 실행하는 경우 즉, 새로운 task_man가 게재되지해야하지만, 오히려 작업의 수를 변경해야 이전 예에서. (실행이 시작될 것이라는 것을 알고, 원본을 수정 한 다음 종료해야한다고 말합니다.)
코드를 찾고 있지 않습니다. 전체 구현을 찾지 않아서 마음에 들지 않습니다. 샘플을보고), 내가 사용할 수있는 API 또는 내가 생각해 낸 전반적인 디자인에 대한 제안.
당신은 "코드를 원하지 않는다"고 말하지만, 열어 볼 수있는 오픈 소스 프로그램이 존재할 때 그것은 단지 게으름입니다. 당신이 그들의 패러다임에서 글을 읽게된다면, 당신이 착수하고있는 노력이 다른 사람들의 일의 확장으로 더 잘 표현 될 것임을 알게 될 것입니다. 몇 가지 코드를 읽고 사용하는 API를 확인한 다음 해당 API에 대한 설명서를 읽으십시오. 시작하기 좋은 곳은 http : //processhacker.sourceforge입니다.net/ – HostileFork
@Hostile 나는 나의 질문을 편집했다. –
해당 플랫폼에서 이해할 수있는 언어로 된 완전한 구현을 두려워하지 마십시오. 완전한 구현은 종종 샘플이 단순하게 그려지는 많은 "실제"걱정을 가지고 있습니다. 사람들이 사용하는 도구를 개발한지 수년 간의 제품은 일반적으로 StackOverflow에 대한 드라이브 바이 응답보다 훨씬 더 깊습니다. 다이빙, 둘러보기, 다른 사람의 코드베이스 작성 및 단계별 실행 ... 좋은 일입니다. – HostileFork