モノを使用して.NET WindowsサービスをLinuxに移行する最良の方法は何ですか?私はスケジュールされたコマンドとしてアプリケーションを実行しないようにしようとしています。モノを使用して.NET WindowsサービスアプリケーションをLinuxに移行する方法は?
(Linuxの)サービス/システムデーモンのような動作を得ることは可能ですか?
モノを使用して.NET WindowsサービスをLinuxに移行する最良の方法は何ですか?私はスケジュールされたコマンドとしてアプリケーションを実行しないようにしようとしています。モノを使用して.NET WindowsサービスアプリケーションをLinuxに移行する方法は?
(Linuxの)サービス/システムデーモンのような動作を得ることは可能ですか?
Linuxでは、deamonsは単純なバックグラウンドプロセスです。特別な制御方法(例えば、start()
,stop()
)はWindowsのように使用されない。単純な(コンソール)アプリケーションとしてサービスを構築し、バックグラウンドで実行します。 daemonize
のようなツールを使用してプログラムをUnixデーモンとして実行し、起動するプログラムとしてmono
を忘れずに指定してください。
mono-serviceは、ServiceProcess
アセンブリで構築されたサービスを実行するホストです。 Windows用に構築されたサービスは、この方法を使用して、Linuxで未変更で実行できます。プロセスにシグナルを送信することでサービスを制御できます(マニュアルページを参照)。
モノサービスでラッピングできますか?
this questionを参照してください。
過去に私がやったことは、.Netアプリケーションをコンソールアプリケーションとしてコンパイルしてから、Linuxサーバー上でinitscriptsディレクトリにスタートアップスクリプトを作成することです。
Linuxには明らかにWindowsサービスがなく、起動時にrc.dディレクトリから開始されるデーモンは同等です。ほとんどのrc.dスクリプトはバックグラウンドスレッド上で異なるアプリケーションを起動するので、実際には複雑ではありません。余分な作業の唯一のビットは、Linuxシェルスクリプトを記述してサービスを停止する必要がある場合です。