UNPKG

node-os-utils

Version:

Advanced cross-platform operating system monitoring utilities with TypeScript support

142 lines 3.74 kB
import { BaseMonitor } from '../core/base-monitor'; import { MonitorResult, ProcessConfig, ProcessInfo, ProcessId, DataSize } from '../types'; import { PlatformAdapter } from '../types/platform'; import { CacheManager } from '../core/cache-manager'; /** * 进程监控器 * * 提供进程相关的监控功能,包括进程列表、进程信息、资源使用等 */ export declare class ProcessMonitor extends BaseMonitor<ProcessInfo[]> { private processConfig; constructor(adapter: PlatformAdapter, config?: ProcessConfig, cache?: CacheManager); /** * 获取进程信息(实现抽象方法) */ info(): Promise<MonitorResult<ProcessInfo[]>>; /** * 获取所有进程列表 */ list(options?: { skipLimit?: boolean; }): Promise<MonitorResult<ProcessInfo[]>>; /** * 根据 PID 获取进程信息 */ byPid(pid: ProcessId): Promise<MonitorResult<ProcessInfo | null>>; /** * 根据进程名称搜索进程 */ byName(name: string): Promise<MonitorResult<ProcessInfo[]>>; /** * 获取当前进程信息 */ current(): Promise<MonitorResult<ProcessInfo | null>>; /** * 获取子进程列表 */ children(parentPid: ProcessId): Promise<MonitorResult<ProcessInfo[]>>; /** * 获取进程树 */ tree(rootPid?: ProcessId): Promise<MonitorResult<any>>; /** * 获取最占用 CPU 的进程 */ topByCpu(limit?: number): Promise<MonitorResult<ProcessInfo[]>>; /** * 获取最占用内存的进程 */ topByMemory(limit?: number): Promise<MonitorResult<ProcessInfo[]>>; /** * 获取进程统计信息 */ stats(): Promise<MonitorResult<{ total: number; running: number; sleeping: number; waiting: number; zombie: number; stopped: number; unknown: number; totalCpuUsage: number; totalMemoryUsage: DataSize; }>>; /** * 检查进程是否存在 */ exists(pid: ProcessId): Promise<MonitorResult<boolean>>; /** * 杀死进程 */ kill(pid: ProcessId, signal?: string): Promise<MonitorResult<boolean>>; /** * 获取进程的打开文件 */ openFiles(pid: ProcessId): Promise<MonitorResult<string[]>>; /** * 获取进程的环境变量 */ environment(pid: ProcessId): Promise<MonitorResult<Record<string, string>>>; /** * 配置是否包含子进程 */ withChildren(include: boolean): this; /** * 配置是否包含线程信息 */ withThreads(include: boolean): this; /** * 配置是否包含环境变量 */ withEnvironment(include: boolean): this; /** * 配置是否包含打开文件 */ withOpenFiles(include: boolean): this; /** * 配置进程名称过滤 */ withNameFilter(filter: string): this; /** * 配置最大返回结果数 */ withMaxResults(max: number): this; /** * 配置目标进程 ID 列表 */ withPids(pids: number[]): this; /** * 获取默认配置 */ protected getDefaultConfig(): ProcessConfig; /** * 转换进程列表 */ private transformProcessList; /** * 转换进程信息 */ private transformProcessInfo; /** * 应用过滤器 */ private applyFilters; /** * 构建进程树 */ private buildProcessTree; /** * 规范化进程状态 */ private normalizeProcessState; /** * 解析启动时间 */ private parseStartTime; /** * 安全解析数字 */ private safeParseNumber; } //# sourceMappingURL=process-monitor.d.ts.map