[英]How to setup my server exe keep running
我有一个现在部署的服务器进程,我想让我的服务器保持运行。 如果该进程通过某种方式崩溃,无论是某种异常还是任何其他技术流程,那么我需要重新启动它。
为此,我创建了另一个进程,在进程列表中继续检查(例如,每2分钟)此特定进程名称,如果没有找到,它将启动该进程。
我已经实现了这个解决方案,但我知道这不是一个好主意,我相信这项工作必须有一些更好的想法。 你能帮助我最好的方法,还是建议一些更好的方法?
出于某些限制,我无法将我的服务器进程部署为Windows服务,它是一个Windows窗体应用程序。
谢谢。
您没有发布任何代码,但您提到“每隔两分钟检查进程列表”。 我认为更好的解决方案是让您的监督程序流程成为父流程。 它会调用CreateProcess来将EXE作为子进程启动。 然后在子进程句柄上执行WaitForSingleObject。 一旦WaitForSingleObject返回(表示子进程已退出),它就会重新启动它。
CreateProcess和WFSO的.Net等价物是Process.Start和Process.WaitForExit 。
如你所说,解决方案远非最佳。 Windows服务已自动重启。
在你的情况下,我会从Windows任务调度程序启动你的看门狗进程,以避免问题,如果你的看门狗死了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.