降低CPU使用率,处置好因降低CPU使用率带来的颜色偏差
This commit is contained in:
@@ -10,6 +10,8 @@ namespace SHH.CameraService;
|
||||
|
||||
public class Program
|
||||
{
|
||||
private static bool _isExiting = false;
|
||||
|
||||
/// <summary>
|
||||
/// 主程序
|
||||
/// </summary>
|
||||
@@ -32,6 +34,12 @@ public class Program
|
||||
string argString = string.Join(" ", args);
|
||||
sysLog.Debug($"[Core] 🚀 启动参数({(isDebugArgs ? "调试环境" : "生产环境")}): {argString}");
|
||||
|
||||
AppDomain.CurrentDomain.ProcessExit += (s, e) => HandleExit("ProcessExit");
|
||||
Console.CancelKeyPress += (s, e) => {
|
||||
e.Cancel = true; // 阻止立即强制杀死进程
|
||||
HandleExit("CancelKeyPress");
|
||||
};
|
||||
|
||||
// =============================================================
|
||||
// 2. 硬件预热、端口扫描、gRpc链接
|
||||
// =============================================================
|
||||
@@ -123,6 +131,28 @@ public class Program
|
||||
var sysLog = Log.ForContext("SourceContext", LogModules.Core);
|
||||
sysLog.Information($"[Core] 🚀 核心业务逻辑已激活, 设备管理器已就绪.");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 退出, 刷新日志
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
private static void HandleExit(string source)
|
||||
{
|
||||
if (_isExiting) return;
|
||||
_isExiting = true;
|
||||
|
||||
Log.ForContext("SourceContext", LogModules.Core)
|
||||
.Warning("// Modified: 处理手动关闭请求。来源: {Source}", source);
|
||||
|
||||
// TODO: 执行 SHH.CameraService 的清理逻辑 (释放海康/大华 SDK 句柄)
|
||||
Log.ForContext("SourceContext", LogModules.Core)
|
||||
.Warning("SHH.CameraService 已安全关闭,日志已刷新。");
|
||||
|
||||
// 必须显式调用,否则在 ProcessExit 触发时异步日志可能丢失
|
||||
Log.CloseAndFlush();
|
||||
|
||||
Environment.Exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user