29 lines
906 B
C#
29 lines
906 B
C#
using System.Diagnostics;
|
|
|
|
namespace SHH.ProcessLaunchers
|
|
{
|
|
/// <summary>
|
|
/// 资源哨兵接口 (策略模式)
|
|
/// </summary>
|
|
public interface IResourceGuard
|
|
{
|
|
/// <summary>
|
|
/// 哨兵名称 (如 MemoryGuard)
|
|
/// </summary>
|
|
string Name { get; }
|
|
|
|
/// <summary>
|
|
/// 执行健康检查
|
|
/// </summary>
|
|
/// <param name="process">正在运行的进程对象</param>
|
|
/// <param name="reason">[输出] 如果异常,返回详细原因描述</param>
|
|
/// <returns>检查结果 (Normal/Warning/Critical)</returns>
|
|
GuardResult Check(Process process, out string reason);
|
|
|
|
/// <summary>
|
|
/// 人工复位/标记已处置
|
|
/// <para>用户在 UI 点击“已处置”后调用,用于清除内部的报警锁定状态 (Latch)</para>
|
|
/// </summary>
|
|
void Reset();
|
|
}
|
|
} |