首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何编写Mono守护进程

如何编写Mono守护进程
EN

Stack Overflow用户
提问于 2008-10-09 09:12:52
回答 7查看 21.3K关注 0票数 52

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

我想在它完成处理时启动和停止它,而不是简单地杀死进程。

有谁有这样的例子吗?

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

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

存在SessionEnd事件,但该事件仅适用于服务,而不适用于控制台应用程序

答案: using mono-service to wrap a windows service on linux

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-10-11 11:18:29

你应该实现一个服务,并使用单一服务。在谷歌上搜索,你会找到几个例子。

票数 19
EN

Stack Overflow用户

发布于 2008-10-19 16:30:08

要以Unix的方式接收通知,即使用信号,您需要对计划接收的每个信号使用Mono.Unix.UnixSignal,然后对信号数组调用UnixSignal.WaitAny ()。

您通常会在单独的线程上执行此操作。

票数 25
EN

Stack Overflow用户

发布于 2008-10-09 14:28:15

一种简单的方法是侦听(本地的、高的)端口并从管理客户端接收命令,就像bind所做的那样。

一种更具unix风格的方式是使用UnixSignal进行register a signal handler,并在收到特定信号时正确关机。有关注意事项和示例,请参阅Mono FAQ, "Can I use signal handlers with Mono?"

lupus发现了mono-service,它是一个使用ServiceProcess接口的宿主进程。遗憾的是,这需要设置MONO_DISABLE_SHM,这会禁用Mono中的一些功能,特别是跨进程的进程间通信系统。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/186493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档