UNPKG

node-process-watcher

Version:
131 lines (130 loc) 3.75 kB
export interface process_info { id: number; name: string; user_name: string; mem: number; cpu: number; } export interface node_process_watcher_type { /** * 监听进程,需要提供一个 key * @param key * @param call * @param pids 监听特定进程信息(只是起到过滤作用) */ on: (key: string, call: (list: process_info[]) => any, pids?: number[]) => void; /** * 关闭某个key的监听 只有当前系统上所有的key都关闭了,程序才会停止实时监控进程信息 * @param key */ close: (key: string) => void; /** * 对某个key的监听进程id切换设置 * 监听特定进程信息(只是起到过滤作用) * @param key * @param pids */ pids: (key: string, pids: number[]) => void; /** * get sys all pid 获取系统所有的进程pid信息 * @param ppid */ get_all_pid(ppid?: number): { pid: number; cpu: number; ppid: number; }[]; /** * kill process 可以关闭所有的子进程 * @param pid * @param kill_all_children default false */ kill_process(pid: number, kill_all_children?: boolean): void; /** * 使用子线程遍历全部的文件与数量 * @param folder_name * @param on */ on_folder_size(folder_name: string, on: (file_num: number, total_size: number) => void): void; /** * 停止对某个目录的数量统计 * @param folder_name */ stop_folder_size(folder_name: string): void; get_system_proxy_for_windows(): { enabled: boolean; ip: boolean; port: number; bypass?: string; useForLocal?: boolean; }; set_system_proxy_for_windows(data: { enabled: boolean; ip: boolean; port: number; bypass?: string; useForLocal?: boolean; }): boolean; get_system_proxy_for_mac(): { name: string; proxies: { type: number; enabled: boolean; ip: string; port: number; bypass?: string; useForLocal?: boolean; }[]; bypass?: string; }[]; set_system_proxy_for_mac(data: { name: string; proxies: { type: number; enabled: boolean; ip: string; port: number; bypass?: string; useForLocal?: boolean; }[]; bypass?: string; }[]): boolean; /** * 判断当前进程是否以管理员/root权限运行 */ is_admin(): boolean; /** * 在 Windows Service 中, * 使用 CreateProcessAsUser 在当前登录用户桌面启动程序 * * ⚠️ 仅 Windows 生效 * ⚠️ Service 必须以 LocalSystem 运行 * * @param exe_path exe 完整路径 * @param cwd 工作目录 * @param args */ launch_process_as_user_for_win_service(exe_path: string, args?: string, cwd?: string): number; launch_process_as_user_for_win_service_console(exe_path: string, args: string, cwd: string, on_data: (data: string) => void, on_done: () => void, on_pid: (pid: number) => void): void; get_all_processes(): { pid: number; name: string; }[]; get_username_by_uid(uid: number): string; get_all_users(): ({ uid: number; username: string; } | { groups: string[]; username: string; domain: string; sid: string; })[]; get_file_owner(file_path: string): { username: string; domain: string; sid: string; type: string; }; } export declare const node_process_watcher: node_process_watcher_type;