コマンドラインで渡されたさまざまな構成ファイルで複数回起動されるサービスプログラムを実行しています。プログラムは、Windowsサービスとして実行されている制御プログラムによって開始されます。このサービスは、プログラムを監視して再起動できる必要があります。現時点では、制御プログラムがクラッシュした場合に問題が発生します。実行中のインスタンスと実行されていないインスタンスを検出できないため、サービスプログラムのすべてのインスタンスを起動できません。
System.Diagnostics.ProcessAPIとWMIAPIを使用して、いくつかの情報を取得してみました。ただし、どちらのバリアントでも、コマンドライン引数は使用できません。
インスタンスを開始するには、System.Diagnostics.ProcessのStartInfoオブジェクトを使用しています。Stackoverflowのどこかで、StartInfoオブジェクト内のプロセス情報を別のプロセスで利用できないことを読みましたが、WMI APIで利用できるはずですが、私の場合は利用できません。
実行中のプロセスのコマンドライン引数にアクセスするために、インスタンスを別の方法で開始する必要がありますか、それとも別の方法で存在しますか?