node-os-utils
Version:
Advanced cross-platform operating system monitoring utilities with TypeScript support
142 lines • 3.74 kB
TypeScript
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