質問: タイトルの件、C#でWindows OS上で同一の実行ファイル(.exe)のサービスプログラムを起動し、引数等を変更することで動作内容がことなる複数のサービスを起動したいと考えております。 このようにWindowsサービスプログラムを引数を変えて、複数起動するは可能ですか? OSは、Windows 10、Windows Server 2016を想定しております。 .NET Frameworkは4.6.2以上です。 以上、よろしくお願い致します。
回答: タスクマネージャー等、プロセス一覧で`svchost.exe`を見かけたことはないでしょうか? それぞれ異なるサービスとして登録すれば、同一の実行ファイルであってもサービスとして起動できます。 質問文で明示されていませんが、サービスを1つだけ登録し、それを引数を変えて複数起動することはできません。 また、プログラムが提供する内容次第ではありますが、今はサービスよりもタスクスケジューラーに登録し、必要なタイミングで適宜起動する方式が推奨されています。