UNPKG

node-os-utils

Version:

Advanced cross-platform operating system monitoring utilities with TypeScript support

232 lines 6.65 kB
import { BasePlatformAdapter } from '../core/platform-adapter'; import { CommandResult, SupportedFeatures } from '../types/platform'; import { ExecuteOptions } from '../types/config'; /** * macOS 平台适配器 * * 实现 macOS 系统的监控功能,主要通过 sysctl、vm_stat、system_profiler 等命令 */ export declare class MacOSAdapter extends BasePlatformAdapter { private executor; constructor(); /** * 执行系统命令 */ executeCommand(command: string, options?: ExecuteOptions): Promise<CommandResult>; /** * 读取文件内容,捕获并转换常见的权限/不存在错误 */ readFile(path: string): Promise<string>; /** * 检查文件是否存在 */ fileExists(path: string): Promise<boolean>; /** * 通过 sysctl 汇总 CPU 基本信息 */ getCPUInfo(): Promise<any>; /** * 调用 top/iostat 获取 CPU 使用率,失败时链式回退 */ getCPUUsage(): Promise<any>; /** * 使用 powermetrics 读取温度,需要 sudo 权限 */ getCPUTemperature(): Promise<any>; /** * 读取 vm_stat 解析内存占用 */ getMemoryInfo(): Promise<any>; /** * 读取 vm_stat 解析内存占用 */ getMemoryUsage(): Promise<any>; /** * 读取 df -h 解析磁盘占用 */ getDiskInfo(): Promise<any>; /** * 读取 iostat -d 解析磁盘 I/O 统计 */ getDiskIO(): Promise<any>; /** * 读取 ifconfig 解析网络接口列表 */ getNetworkInterfaces(): Promise<any>; /** * 读取 netstat -ib 解析网络统计信息 */ getNetworkStats(): Promise<any>; /** * 读取 ps -axo pid=,ppid=,comm=,%cpu=,%mem=,rss=,stat=,user=,args= 解析进程列表 */ getProcesses(): Promise<any>; /** * 读取 ps -p pid -o pid,ppid,command,pcpu,pmem,state,user,lstart 解析特定进程信息 */ getProcessInfo(pid: number): Promise<any>; /** * 读取 uname -a, uptime, sysctl -n vm.loadavg, sw_vers 解析系统信息 */ getSystemInfo(): Promise<any>; /** * 读取 sysctl -n vm.loadavg 解析系统负载 */ getSystemLoad(): Promise<any>; /** * 读取 sysctl -n vm.loadavg 解析系统负载 */ protected initializeSupportedFeatures(): SupportedFeatures; private parseCPUInfo; /** * 解析 top 命令输出为 CPU 使用率 */ private parseCPUUsageFromTop; /** * 解析 iostat 命令输出为 CPU 使用率 */ private parseCPUUsageFromIostat; /** * 解析 powermetrics 命令输出为温度 */ private parseTemperatureFromPowermetrics; /** * 解析 vm_stat 输出为内存信息 */ private parseMemoryInfo; /** * 解析 memory_pressure 输出为内存压力 */ private parseMemoryPressure; /** * 解析 df -h 输出为磁盘信息 */ private parseDiskInfo; /** * 解析 iostat -d 输出为磁盘 I/O 统计 */ private parseDiskIO; /** * 解析 ifconfig 输出为网络接口列表 */ private parseNetworkInterfaces; /** * 解析 netstat -ib/-i 输出,兼容是否包含字节列两种格式 */ private parseNetworkStats; /** * 解析 ps -axo pid=,ppid=,comm=,%cpu=,%mem=,rss=,stat=,user=,args= 输出为进程列表 */ private parseProcessList; /** * 解析 ps 输出的进程详细信息 */ private parseProcessInfo; /** * 解析 uname -a, uptime, sysctl -n vm.loadavg, sw_vers 输出为系统信息 */ private parseSystemInfo; /** * 解析 sysctl -n vm.loadavg 输出为系统负载 */ private parseLoadAverage; /** * 解析 df -h 输出的大小格式转换 */ private convertDfSizeToBytes; /** * 获取磁盘使用情况,解析 df -k 输出为磁盘使用情况 */ getDiskUsage(): Promise<any>; /** * 获取磁盘统计,解析 iostat -d 输出为磁盘统计 */ getDiskStats(): Promise<any>; /** * 获取挂载点,解析 mount 输出为挂载点 */ getMounts(): Promise<any>; /** * 获取文件系统,解析 diskutil list 输出为文件系统 */ getFileSystems(): Promise<any>; /** * 获取网络连接,解析 netstat -an 输出为网络连接 */ getNetworkConnections(): Promise<any>; /** * 获取默认网关,解析 route -n get default 输出为默认网关 */ getDefaultGateway(): Promise<any>; /** * 获取进程列表,解析 ps -axo pid=,ppid=,comm=,%cpu=,%mem=,rss=,stat=,user=,args= 输出为进程列表 */ getProcessList(): Promise<any>; /** * 杀死进程,解析 kill -${signal} ${pid} 输出为杀死进程 */ killProcess(pid: number, signal?: string): Promise<boolean>; /** * 获取进程打开文件,解析 lsof -p ${pid} +c0 -Fn 输出为进程打开文件 */ getProcessOpenFiles(pid: number): Promise<string[]>; /** * 获取进程环境变量,解析 ps eww ${pid} 输出为进程环境变量 */ getProcessEnvironment(pid: number): Promise<Record<string, string>>; /** * 获取系统运行时间 */ getSystemUptime(): Promise<any>; /** * 获取系统用户,解析 who 输出为系统用户 */ getSystemUsers(): Promise<any>; /** * 获取系统服务,解析 launchctl list 输出为系统服务 */ getSystemServices(): Promise<any>; private parseDiskUsage; /** * 解析 iostat -d 输出为磁盘统计 */ private parseDiskStats; /** * 解析 mount 输出为挂载点 */ private parseMounts; /** * 解析 diskutil list 输出为文件系统 */ private parseFileSystems; /** * 解析 netstat -an 输出为网络连接 */ private parseNetworkConnections; /** * 解析 route -n get default 输出为默认网关 */ private parseDefaultGateway; /** * 解析 lsof -p ${pid} +c0 -Fn 输出为进程打开文件 */ private parseOpenFiles; /** * 解析 ps eww ${pid} 输出为进程环境变量 */ private parseEnvironment; private parseIostatDisks; /** * 解析 uptime 输出为系统运行时间 */ private parseSystemUptime; /** * 解析 who 输出为系统用户 */ private parseSystemUsers; /** * 解析 launchctl list 输出为系统服务 */ private parseSystemServices; } //# sourceMappingURL=macos-adapter.d.ts.map