问题标签 [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.

0 投票
7 回答
21296 浏览

c# - 如何编写 Mono 守护程序

我正在尝试为 linux 编写一个 Mono C# 守护程序。

我想在它完成处理时启动和停止它,而不是仅仅终止进程。

有没有人有这方面的例子?

编辑:我想出了如何在 debian 中使用 start-stop-daemon --background,所以我想我现在就使用它。

编辑:我也在 java 中实现这个,他们有这个很好的 addShutdownHook 可以捕获终止应用程序。我需要花更多的时间来整理单声道服务的依赖关系,或者找到一种方法来捕获应用程序终止。

有 SessionEnd 事件,但这仅适用于服务而不是控制台应用程序

答: 在linux上使用mono-service封装一个windows服务

0 投票
2 回答
20367 浏览

linux - 使用 mono-service 在 linux 上封装一个 windows 服务

嗨,我正在尝试使用 mono-service2 从 Visual Studio 运行股票 Windows 服务项目。我正在使用 mono 2.0 在 debian 上运行它并进行编译。

我尝试从这个开始(我尝试将 -d 设置为应用程序的目录并设置 -n,-m )

唯一的代码更改是添加用于测试的写行

服务1.cs

结果就是这个错误

谢谢你的帮助

回答

我错过了 LD____LIBRARY____PATH 环境变量,所以我将它添加到 csh 中进行测试

0 投票
1 回答
1760 浏览

windows - Windows 上的单一服务

我继承了一个使用运行 Windows 服务的单声道的应用程序。所有的原始开发人员都走了。生产版本在 linux 上使用 mono。我正在尝试启动并运行开发环境。我决定使用 windows 作为在其上运行单声道的基础平台。好吧,考虑到我当前的问题,这可能不是最好的主意,但我想在将环境迁移到 linux 之前尝试理解这个问题。

问题是我无法运行单服务。我可以让小型 winforms 应用程序使用单声道运行。我的问题与之前的问题相同,有答案。使用 mono-service 在 linux 上包装 windows 服务 但是我无法翻译关于在 windows 环境中做什么的答案。我确定我遇到了不加载 dll 的问题。

未处理的异常:System.TypeInitializationException:Mono.Unix.Native.Syscall 的类型初始化程序引发了异常---> System.EntryPointNotF oundException:Mono_Posix_Syscall_L_ctermid 在(包装器托管到本机)Mono.Unix.Native.Syscall: _L_ctermid () 在 Mono.Unix.Native.Syscall..cctor () [0x00000] --- 内部异常堆栈跟踪结束 --- 在 MonoServiceRunner.Main (System.String[] args) [0x00000]

我添加了 monodevelop 环境变量并设置为“all”并有一个日志文件。没有文本将记录文件。而且我无法再获得上面发布的信息。有人可以指出我正确的方向。

0 投票
4 回答
10697 浏览

mono - start-stop-daemon 和 mono-service2 成功了吗?

有没有人一起使用 start-stop-daemon 和 mono-service2 成功?我已经为此奋斗了几天,并且已经得到了各种各样的工作,但是在为单声道服务获得功能齐全的初始化脚本方面没有成功。

以下是我迄今为止所学到的:

  1. mono 或 mono-service exe 必须命名为变量 DAEMON(您不能将您的 exe 列为 DAEMON)

  2. 您必须使用 --background 标志...否则当从包安装程序(在我的情况下为 deb)执行此脚本时。该服务在安装程序结束时终止(与安装程序如何分叉进程有关......我没有调查过这么多)。

  3. 我已经成功地在其他脚本中列出了带有 mono-service 标志的 pid 文件并使用它来停止守护程序,但由于某种原因它在这里不起作用。因此,下面的脚本不会停止服务 - 不知道为什么。开始工作正常。

这是我的部分功能初始化脚本:

0 投票
1 回答
8659 浏览

c# - .NET 服务到 Linux 守护进程

我正在使用 .NET 3.5 编写便携式服务/守护程序,我的 Windows 服务正在运行,但我想知道单端口...

如果我理解正确,我正在寻找单服务。这究竟是如何工作的?我假设我在整个服务中都需要单声道兼容代码,对吧?例如,我正在使用 SQLite。为了将它与单声道一起使用,我应该重构我的代码以使用单声道命名空间等,例如 Mono.Data.SQLite,这是否正确?我还可以使用 Settings.settings 吗?

另外,我读到守护进程没有实现 onStart/Stop 方法,所以我需要更改我的代码以在 mono/linux 下运行吗?即可以在我的代码中使用这些方法,并且可以运行 ServiceBase.Run() 吗?Mono-service 是否支持这些?

0 投票
2 回答
3472 浏览

linux - linux 上的 mono-service2 用于 Dotnet4 服务

基本上我有一个 dotnet 4 控制台应用程序,我想将其转换为 linux 服务。我已经在最新版本的 mono 上测试了控制台应用程序,它可以工作。然后我将控制台应用程序转换为 Windows 服务并尝试使用 mono-service2 来启动它,但它导致一些关于找不到图像的错误。如果有意义的话,它似乎在谈论单声道图像或类似的图像而不是图像文件。似乎 mono-service2 是为 dotnet 2.0 而不是 dotnet 4.0 构建的,我似乎找不到 dotnet 4.0 版本的代码。谁能指出我正确的方向或给我另一种方式来运行我的服务?我真的希望它们在 webmin 中显示为服务,这样我就可以停止、启动并通过网络检查它们的状态。

我无法发布确切的错误,因为我没有它,但如果有帮助,我会在大约 6 小时内发布。

0 投票
1 回答
2056 浏览

c# - 将命令行参数传递给单服务

有没有办法将命令行参数传递给单服务调用的服务?所有命令行参数似乎都被单服务吸收,而不是传递给服务。

0 投票
1 回答
2430 浏览

mono - 为什么在 kill -9 后单声道服务不重新启动?

我运行了一个单一的服务

它启动了服务,一切都很好,但我不得不改变源代码。所以我重新编译并部署了它。我通过运行终止了服务

现在我尝试再次运行该服务。但它根本没有开始。这里有什么问题 ?

0 投票
2 回答
2102 浏览

c# - 如何检测我是否在单服务中运行?

如何检测我在 mono-service2 下运行?(在 C#/.NET 3.5 中,在 ubuntu 11 上运行 mono 2.6.7)

Type.GetType("Mono.Runtime")告诉我我正在单声道运行,所以那部分没问题。但是Environment.UserInteractive在单声道下似乎总是错误的,所以我很难弄清楚我是否真的在单声道服务2下运行——没有控制台/终端。

0 投票
1 回答
3503 浏览

mono-service - 捕获单服务标准输出控制台输出?

启动这样的服务说:

如何捕获标准输出?如果崩溃,如何捕获输出?

除了程序记录本身之外,输出似乎丢失了。syslog 似乎只包含信息:mono-service2,而不是它正在运行的程序集:myservice.exe。