問題タブ [mono-service]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Mono Daemon のコーディング方法
Linux 用の Mono C# デーモンを作成しようとしています。
プロセスを強制終了するのではなく、処理が完了したときに開始と停止を行いたいと思います。
誰にもこれの例はありますか?
編集: debian で start-stop-daemon --background を使用する方法を理解したので、今のところそれを使用すると思います。
編集:私はこれを Java でも実装しています。アプリの終了をキャッチするこの素晴らしい addShutdownHook があります。モノサービスの依存関係を整理するのにもう少し時間を費やすか、アプリの終了をキャッチする方法を見つける必要があります。
SessionEnd イベントがありますが、これはサービスでのみ使用でき、コンソール アプリでは使用できません
linux - モノサービスを使用してLinuxでWindowsサービスをラップする
こんにちは私はmono-service2を使用してビジュアルスタジオからストックWindowsサービスプロジェクトを実行しようとしています。私はこれをmono2.0のdebianで実行し、でコンパイルしています。
私はこれから始めます(アプリでディレクトリに-dを設定し、-n、-mを設定してみました)
唯一のコード変更は、テスト用の書き込み行を追加することです
Service1.cs
結果はこのエラーです
ご協力いただきありがとうございます
答え
LD ____ LIBRARY ____ PATH env変数が欠落していたため、テスト用にcshに追加しました
windows - Windowsでのモノサービス
Windowsサービスを実行するmonoを使用するアプリケーションを継承しました。元の開発者はすべていなくなりました。製品版はLinuxでmonoを使用しています。開発環境を稼働させようとしています。その上でモノラルを実行するベースプラットフォームとしてWindowsを使用することにしました。私の現在の問題を考えると、おそらく最善のアイデアではないかもしれませんが、環境をLinuxに移行する前に、問題を理解しようと思います。
問題は、モノサービスを実行できないことです。小さなwinformsアプリをmonoを使用して実行することができます。私の問題は前の質問と同じで、答えがあります。モノサービスを使用してLinuxでWindowsサービスをラップする しかし、Windows環境で何をすべきかについての答えを翻訳することはできません。dllがロードされないという問題が発生していると確信しています。
未処理の例外:System.TypeInitializationException:Mono.Unix.Native.Syscallの型初期化子によって例外がスローされました---> System.EntryPointNotF oundException:Mono_Posix_Syscall_L_ctermid at(ラッパー管理からネイティブ)Mono.Unix.Native.Syscall: _L_ctermid()at Mono.Unix.Native.Syscall..cctor()[0x00000]---内部例外スタックトレースの終了---MonoServiceRunner.Main(System.String [] args)[0x00000]
monodevelop環境変数を追加し、「all」に設定してログファイルを作成しました。ログファイルにテキストは送信されません。そして、私はもう上に投稿されたものについての情報を得ることができません。誰かが私を正しい方向に向けることができますか?
mono - start-stop-daemon と mono-service2 で成功?
start-stop-daemon と mono-service2 を一緒に使用して成功した人はいますか? 私は数日間これと戦っており、さまざまな部分が機能するようになりましたが、モノ サービス用の完全に機能する init スクリプトを取得することに成功していません。
これが私がこれまでに学んだことです:
mono または mono-service exe は、変数 DAEMON として名前を付ける必要があります (exe を DAEMON としてリストすることはできません)。
--background フラグを使用する必要があります ... そうしないと、このスクリプトがパッケージ インストーラー (私の場合は deb) から実行されます。インストーラーが終了すると、サービスは終了します (インストーラーがプロセスをフォークする方法に関係があります... 私はこれほど調査していません)。
他のスクリプトでモノサービス フラグを使用して pid ファイルをリストし、それを使用してデーモンを停止することに成功しましたが、何らかの理由でここでは機能しません。そのため、以下のスクリプトはサービスを停止しません-理由はわかりません. 起動は正常に動作します。
そして、ここに私の部分的に機能するinitスクリプトがあります:
c# - .NET サービスから Linux デーモンへ
.NET 3.5 を使用してポータブル サービス/デーモンを作成しています。Windows サービスは実行されていますが、モノポートについて疑問に思っていました...
私が正しく理解している場合、モノサービスは私が探しているものです。しかし、これはどのように正確に機能しますか?サービス全体でモノ互換のコードが必要だと思いますよね?たとえば、私は SQLite を使用しています。これを mono で使用するには、Mono.Data.SQLite などの mono 名前空間などを使用するようにコードをリファクタリングする必要がありますか? Settings.settings を引き続き使用できますか?
また、デーモンは onStart/Stop メソッドを実装していないことを読みました。コードを mono/linux で実行するように変更する必要がありますか? つまり、コードにこれらのメソッドを含めても問題ありませんか? ServiceBase.Run() を実行しても問題ありませんか? Mono-service はこれらに対応していますか?
linux - Dotnet4 サービス用の Linux 上の mono-service2
基本的に、Linux サービスに変換したい dotnet 4 コンソール アプリケーションがあります。mono の最新ビルドでコンソール アプリケーションをテストしましたが、動作します。次に、コンソール アプリケーションを Windows サービスに変換し、mono-service2 を使用して起動しようとしましたが、画像が見つからないというエラーが発生しました。それが理にかなっている場合、それはモノ画像などについて話しているようで、画像ファイルではありませんでした。mono-service2 は dotnet 4.0 ではなく dotnet 2.0 用に構築されているようで、dotnet 4.0 バージョンのコードが見つからないようです。誰かが私を正しい方向に向けたり、サービスを実行する別の方法を教えてくれますか? Webmin でサービスとして表示されるようにして、Web 上で停止、開始、ステータスの確認ができるようにしたいのです。
私はそれを持っていないので、正確なエラーを投稿することはできませんが、役立つ場合は約6時間で投稿します.
c# - コマンドライン引数をモノサービスに渡す
モノサービスによって呼び出されたサービスにコマンドライン引数を渡す方法はありますか? すべてのコマンド ライン引数は、サービスに渡されるのではなく、モノサービスによって吸収されるようです。
mono - kill -9 の後に mono サービスが再起動しないのはなぜですか?
でモノサービスを実行しました
サービスが開始され、すべて問題ありませんでしたが、ソースで何かを変更する必要がありました。そこで、再コンパイルしてデプロイしました。実行してサービスを終了しました
ここで、サービスを再度実行しようとしました。でも全然始まらない。ここで何が問題ですか?
c# - モノサービスで実行されているかどうかを検出するにはどうすればよいですか?
mono-service2で実行していることをどのように検出できますか?(C#/。NET 3.5では、ubuntu11でmono2.6.7を実行しています)
Type.GetType("Mono.Runtime")
私はモノラルで実行していると言っているので、その部分は大丈夫です。しかしEnvironment.UserInteractive
、monoの下では常に誤りであるように思われるので、コンソール/ターミナルなしで、実際にmono-service2で実行されているかどうかを判断するのに苦労しています。
mono-service - モノサービスの stdout コンソール出力をキャプチャしますか?
このようにサービスを開始すると、次のようになります。
stdout をどのようにキャプチャしますか? クラッシュした場合、出力をどのようにキャプチャしますか?
プログラムのログ自体は別として、出力が失われているようです。syslog には、実行中のアセンブリ myservice.exe ではなく、mono-service2 に関する情報のみが含まれているようです。