如何设置我的服务器exe保持运行
本文关键字:exe 服务器 运行 我的 何设置 设置 | 更新日期: 2023-09-27 18:22:24
我现在部署了一个服务器进程,我想让我的服务器保持运行。在这种情况下,如果该进程以某种方式崩溃,无论是某种异常还是任何其他技术流程,那么我需要重新启动它。
为此,我创建了另一个进程,它在进程列表中不断检查(例如,每2分钟)这个特定进程名称,如果找不到,它将启动该进程。
我已经实施了这个解决方案,但我知道这不是一个好主意,我相信对于这份工作一定有一些更好的想法。你能帮助我这是最好的方法吗,还是建议一些更好的方法?
由于某些限制,我无法将服务器进程部署为windows服务,它是一个windows窗体应用程序。
谢谢。
您没有发布任何代码,但提到"每两分钟检查一次进程列表"。我认为一个更好的解决方案是让你的监督程序成为父程序。它将调用CreateProcess以将EXE作为子进程启动。然后在子进程句柄上执行WaitForSingleObject。一旦WaitForSingleObject返回(表示子进程已经退出),它就会重新启动它
CreateProcess和WFSO的.Net等价物是Process.Start和Process.WaitForExit.
正如您所说,解决方案远非最佳。Windows服务已自动重新启动。
在你的情况下,我会从windows任务调度程序启动你的看门狗进程,以避免你的看门犬死亡时出现问题。