问题标签 [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.
mono - 从崩溃的单声道应用程序中捕获堆栈跟踪,通过单声道服务在 Linux 中作为服务运行
我在 Ubuntu 中运行一个偶尔会崩溃的应用程序。我想在崩溃发生时捕获堆栈跟踪。这可能吗?
我正在像这样启动我的应用程序:
单服务-m:logfile.out application.exe
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.exe
和WSSDaemon.exe
.
我是这样称呼他们的:
wssd_log.txt 是我发现上面报告的错误消息的地方。谁能给我一个提示会是什么问题?
linux - 在 C# 守护程序和单服务中使用 System.Diagnostics.EventLog
我刚刚设法使用 C# 和单声道(欢呼)实现了我的第一个守护进程。除了一件事,一切都很好。在windows中,为了让服务登录到系统的日志库,应该使用System.Diagnostics.EventLog
class。此类带有一个名为WriteEntry
将字符串记录到系统日志中的方法。同一个类存在于单声道中并且编译得很好,但它似乎什么也没做。或者也许我不知道去哪里找。以这种方式生成的日志到哪里去了?
c# - 使用 sgen 垃圾收集器运行单服务
操作系统:Ubuntu
是否可以将单服务与 sgen 垃圾收集器一起使用?普通的垃圾收集器会泄漏我所有的内存,直到世界末日来临。如果我找不到让 sgen 与单服务一起工作的方法,我可能会被困在使用 cron 作业中。
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 等。
c# - mono-service2 不会在 OSX 上创建锁定文件
我正在使用单声道 3.2.4 运行 OSX 10.9。
我有一个简单的应用程序,我想作为守护程序运行,但单服务不会创建一个带有 PID 的锁定文件。我尝试在 /tmp 以及使用时获得的临时路径中进行搜索:
哪个返回:
但没有运气。这可能是单声道中的错误吗?
我已经使用mono-service2 DaemonTest.exe
andmono-service2 l:myLockFile.lock DaemonTest.exe
来启动守护进程。守护进程本身运行,因为我可以看到单垃圾收集器在我的系统监视器中运行。
问候
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 版本?我能做些什么?
c# - mkbundle 应用程序的单一服务
我有一个 Windows 服务,我想在 Linux 上使用 Mono 运行。我可以使用单服务将其作为服务运行,并且效果很好。
我还希望mkbundle
该应用程序能够简化最终用户的部署,因此他们不需要自己安装 Mono。
在 Linux 上将生成的本机二进制文件作为服务运行,同时仍处理OnStart
和OnStop
事件的推荐方法是什么?
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+ 上运行它。
我被困在这里。任何建议都非常受欢迎。谢谢你。
ubuntu-14.04 - 如何查看单服务运行的服务列表
我在 Linux Ubuntu OS 中运行用 C# 编写的 Windows 服务,我对 Linux 真的很陌生。
我应该在终端中输入什么命令来查看正在运行的服务列表mono-service
?
我也试过了service --status-all
,initctl list
但它没有在列表中显示我的服务。