Win32 API を使用してタスク モニター/マネージャーを構築しようとしています。開始する必要がある新しいプロセスのインスタンス数を指定するコマンド ライン引数を使用して (できれば Windows サービスとして) 開始されます。
task_man.exe 40
プロセスの 40 のインスタンスを開始します
task.exe
これで、task.exe が終了するたびに (正常かどうかに関係なく)、新しいタスクを開始して置き換える必要があります。
私の大まかなアイデアはこれです:
task_man からタスクを開始し、それらの PID を取得してから、PID がすべてアクティブなプロセスであるかどうかを確認するループを作成します。無効な PID ごとに、新しいプロセスを開始し、古い PID を新しいものに置き換えます。
使用できるより良いデザイン、またはより良いワークフローはありますか? これを行うための標準的な方法はありますか?車輪の再発明はしたくありません... また、どの API を調べる必要がありますか?
また、後で簡単に変更できるデザインも探しています。
task_man.exe 30
その後、新しい task_man が実行を開始するのではなく、前のインスタンスのタスク数を変更する必要があります。(私はそれが実行を開始することを知っています。私が言っていることは、オリジナルを変更してから終了する必要があるということです)
私はコードを探しているわけではありません (完全な実装を探しているわけではなく、サンプルを調べても構いません) ではなく、使用できる API や、思いついた全体的な設計に関する提案を探しています。