如何使用 mono 将 .NET Windows 服务应用程序迁移到 Linux?
- 2024-11-14 08:29:00
- admin 原创
- 154
问题描述:
使用 mono 将 .NET Windows 服务迁移到 Linux 的最佳方法是什么?我一直在尝试避免将应用程序作为计划命令执行。
是否有可能获得类似服务/系统守护进程(在 Linux 中)的行为?
解决方案 1:
在 Linux 下,守护进程是简单的后台进程。没有像 Windows 中那样使用特殊的控制方法(例如start()
、 )。将您的服务构建为一个简单的(控制台)应用程序,并在后台运行。使用类似 的工具将程序作为 Unix 守护进程运行,并记得指定要激活的程序。stop()
`daemonize`mono
正如其他人所指出的,mono-service是运行使用程序集构建的服务的主机ServiceProcess
。为 Windows 构建的服务可以使用此方法在 Linux 下不加修改地运行。您可以通过向进程发送信号来控制服务(请参阅手册页)。
解决方案 2:
您能使用 mono-service 来包装它吗?
看到这个问题。
解决方案 3:
我过去的做法是将 .Net 应用程序编译为控制台应用程序,然后在 Linux 服务器上的 initscripts 目录中创建启动脚本。
Linux 显然没有 Windows 服务,启动时从 rc.d 目录启动的守护进程与 Windows 服务相同。大多数 rc.d 脚本所做的就是在后台线程上启动不同的应用程序,因此没有什么复杂的。唯一需要额外做的是,您需要编写一个 Linux shell 脚本来启动和停止服务。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD