问题标签 [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 投票
1 回答
618 浏览

mono - 从崩溃的单声道应用程序中捕获堆栈跟踪,通过单声道服务在 Linux 中作为服务运行

我在 Ubuntu 中运行一个偶尔会崩溃的应用程序。我想在崩溃发生时捕获堆栈跟踪。这可能吗?

我正在像这样启动我的应用程序:

单服务-m:logfile.out application.exe

0 投票
1 回答
641 浏览

mono - 无法启动 mono-service2 守护程序 - “/usr/local/lib/mono/2.0/mscorlib.dll”中缺少方法

我正在使用单声道在 C# 中编写一个守护进程。到目前为止,我设法实现了我的逻辑和所有并在控制台程序中测试它就好了。我在 Windows XP 中使用 MonoDevelop 4.0.9 并在那里编译它,然后将文件移动到 CentOS 进行测试。我已经在 CentOS 上手动编译了 mono 3.0.12,我可以在那里毫无问题地测试我的控制台程序。我的项目由几个包含我的逻辑的库(.net dll 文件)组成,我在两个可执行项目中使用相同的文件;控制台和守护进程。

虽然控制台运行顺利,但守护程序在启动时会输出以下错误:

这很奇怪,因为我编译了我所有的项目都是针对Mono / .Net 4.0. 只是强调一下,两个运行共享相同的库文件列表,它们唯一的区别是可执行文件:Console.exeWSSDaemon.exe.

我是这样称呼他们的:

wssd_log.txt 是我发现上面报告的错误消息的地方。谁能给我一个提示会是什么问题?

0 投票
1 回答
2746 浏览

linux - 在 C# 守护程序和单服务中使用 System.Diagnostics.EventLog

我刚刚设法使用 C# 和单声道(欢呼)实现了我的第一个守护进程。除了一件事,一切都很好。在windows中,为了让服务登录到系统的日志库,应该使用System.Diagnostics.EventLogclass。此类带有一个名为WriteEntry将字符串记录到系统日志中的方法。同一个类存在于单声道中并且编译得很好,但它似乎什么也没做。或者也许我不知道去哪里找。以这种方式生成的日志到哪里去了?

0 投票
1 回答
512 浏览

c# - 使用 sgen 垃圾收集器运行单服务

操作系统:Ubuntu

是否可以将单服务与 sgen 垃圾收集器一起使用?普通的垃圾收集器会泄漏我所有的内存,直到世界末日来临。如果我找不到让 sgen 与单服务一起工作的方法,我可能会被困在使用 cron 作业中。

0 投票
1 回答
3392 浏览

c# - 使用 mono-service 在 Linux 上测试 Windows DOTNET 服务

我正在尝试使用单服务在 Linux 上运行 Windows .NET-4.0 服务。它不是用单声道或任何东西编译的。我不是 100% 可行,但我想我可以尝试(二进制兼容等,似乎可行?)。如我错了请纠正我。

我收到了无法找到某些 dll 的错误。它们在系统中,但没有找到它们。这是一个。

我尝试添加路径等,但没有改变。

或者

或 LD_LIBRARY_PATH,它是空的,所以我尝试了

在输出中总是这样:

所以它没有在基本路径中找到它,只是在 GAC 中查找。怎么不见了?它应该在 GAC 之前查看 MONO_PATH 吗?我错过了什么吗?

在两个虚拟机上测试:Ubuntu 13.04 和一个干净的 Live Mint 14。

编辑,添加信息 9/10:

好的,Ubuntu 有 2.10 或其他版本,我尝试使用最新的源

输出日志:

似乎更好,但它仍然关闭。

它找到 libMonoPosixHelper
Mono: DllImport loaded library 'libMonoPosixHelper.so'.
但在 Posix 上失败:
Mono: AOT failed to load AOT module /usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.so: /usr/local/lib/mono/gac/Mono.Posix/4.0.0.0__0738eb9f132ed756/Mono.Posix.dll.so: cannot open shared object file: No such file or directory
在日志末尾。这是导致关机的主要错误吗?
Mono.Posix.dll 加载较早...我不知道我在阅读日志时是否遗漏了什么。

编辑 9/30

好的,我尝试使用 CrunchBang vm,它没有 Mono。安装了带有前缀 /home/ejpb/mono 的压缩包(需要空间,在 /home 分区上)。
问题:我做得对吗?我已经从 Windows 上的安装目录中复制了 exe 和 dll。我可以以某种方式在 Linux 中使用 msi 文件(从中提取它们)吗?那会改变什么吗?
我跑了

并进入 out.log:

等等,所以这部分现在看起来还可以。

我也得到了很多“未找到”的
Mono:AOT NOT FOUND:System.Security.Cryptography.RNGCryptoServiceProvider:RngClose (intptr)。
单声道:未找到 AOT:System.Threading.InternalThread:Thread_free_internal (intptr)。
等等

我试过 MoMA - Mono 2.8(4.0 Profile)。这对 3.2.3 也准确吗?
我有:

也许无法运行此服务?log4net 有一些 p/invokes 等。

0 投票
2 回答
304 浏览

c# - mono-service2 不会在 OSX 上创建锁定文件

我正在使用单声道 3.2.4 运行 OSX 10.9。

我有一个简单的应用程序,我想作为守护程序运行,但单服务不会创建一个带有 PID 的锁定文件。我尝试在 /tmp 以及使用时获得的临时路径中进行搜索:

哪个返回:

但没有运气。这可能是单声道中的错误吗?

我已经使用mono-service2 DaemonTest.exeandmono-service2 l:myLockFile.lock DaemonTest.exe来启动守护进程。守护进程本身运行,因为我可以看到单垃圾收集器在我的系统监视器中运行。

问候

0 投票
1 回答
611 浏览

c# - mono-service2 无法加载类型“System.Runtime.Versioning.TargetFrameworkAttribute”

我写了一个 C# .NET Windows 服务,在 Linux 上运行时考虑使用单声道。

  • 该服务面向 .NET Framework 4 客户端配置文件
  • 我已经针对 .exe 和 .dll 运行了 Mono Migration Analyzer (MoMA),看起来一切正常。
  • .exe 使用 VS2010 在 Windows 上构建
  • Ubuntu x64 12.04 上的 Mono JIT 编译器版本 2.10.8.1

复制二进制文件后,我运行:

它立即返回。运行ps -a它似乎没有运行,syslog我看到:

似乎 mono 不支持我所针对的 .NET 版本?我能做些什么?

0 投票
1 回答
155 浏览

c# - mkbundle 应用程序的单一服务

我有一个 Windows 服务,我想在 Linux 上使用 Mono 运行。我可以使用单服务将其作为服务运行,并且效果很好。

我还希望mkbundle该应用程序能够简化最终用户的部署,因此他们不需要自己安装 Mono。

在 Linux 上将生成的本机二进制文件作为服务运行,同时仍处理OnStartOnStop事件的推荐方法是什么?

0 投票
0 回答
617 浏览

c# - 无法在 Raspberry pi Debain Wheezy 上运行 mono-service -l:file.lock

我用 C# 编写了一个服务。

它作为服务在 Windows 上运行良好。我还可以使用以下命令让它在 Raspberry pi 上运行一次:

但是,我想控制服务——即作为守护进程运行它。

目前我知道如何停止服务的唯一方法是使用“ps”命令获取单进程 ID 号,然后使用“kill -9”来终止该进程。

但是,这样做会导致我无法再次启动服务吗?而且,到目前为止,我设法让它重新启动的唯一方法是首先重新启动。

我知道解决这个问题的正确方法是启动这样的服务:

使用 -l:MyService.lock 创建一个包含 MyService.exe 服务的进程 ID 的文件,以便我可以杀死该 pid 而不是单声道的 pid。

但是,当我这样做时,服务根本没有启动,也没有创建 Myservice.Lock 文件。添加 sudo 没有任何区别,所以我认为这不是权限问题 - 但我不知道,因为我的 Linux 技能有限。

我正在使用所有最新版本的软件并在 Raspberry Pi B+ 上运行它。

我被困在这里。任何建议都非常受欢迎。谢谢你。

0 投票
1 回答
2474 浏览

ubuntu-14.04 - 如何查看单服务运行的服务列表

我在 Linux Ubuntu OS 中运行用 C# 编写的 Windows 服务,我对 Linux 真的很陌生。

我应该在终端中输入什么命令来查看正在运行的服务列表mono-service

我也试过了service --status-allinitctl list但它没有在列表中显示我的服务。