gpt4 book ai didi

c# - 检测应用程序何时停止响应,将其终止并重新启动

转载 作者:可可西里 更新时间:2023-11-01 13:04:06 25 4
gpt4 key购买 nike

我正在开发一个高性能应用程序,该应用程序导致主进程似乎停止响应并时不时地因过载而崩溃(我收到关闭应用程序对话框,因此该应用程序永远不会退出本身,只是卡住,这很烦人)

我欢迎任何干净的方法来以编程方式检测应用程序何时卡住,这样我就可以使用 BAT(或其他)自动终止进程并重新启动。

当然,这是审核 App 时的临时修复,但同时它会非常方便。

TieBreaker: 顺便说一句,有没有办法覆盖 Windows 的异常屏幕并退出应用程序???在大多数情况下,这是一个令人讨厌的功能。

编辑:
看在上帝的份上:应用程序吓坏了,虽然每一个任务都在 BG Workers 和线程中运行!!!我在评论中指定了这一点。拜托,我没那么笨。仅仅你的应用程序运行 BG workers 并不意味着它永远不会卡住!正如我所说,请只回答我的问题,我不是在寻找有关如何设计我的应用程序的类(class),我已经在努力并且我知道必须做什么。正如多次指定的那样,我只需要同时修复服务器。谢谢。

最佳答案

如果没有人愿意,我会说出来 :) 制作一个单独的表单应用程序 -

Process[] prs = Process.GetProcesses();

foreach (Process pr in prs)
{
if (!pr.Responding)
{
try
{
pr.Kill();
}
catch { }
}
}

//then to restart-
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = @"C:\yourapp.exe"
}
};
process.Start();

显然过于简单了。

关于c# - 检测应用程序何时停止响应,将其终止并重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8719359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com