独立监控核心和模块

This commit is contained in:
zhongluofeng
2026-07-23 19:27:40 +08:00
parent 62db8e1982
commit e8267c244f
14 changed files with 2516 additions and 17 deletions
+27
View File
@@ -3,6 +3,7 @@ use tauri::Manager;
mod download_engine;
mod logger;
mod mihomo_manager;
mod monitor_kernel;
mod process_manager;
use download_engine::{
@@ -21,6 +22,10 @@ use mihomo_manager::{
proxy_select_proxy, proxy_set_system_proxy, proxy_start, proxy_status, proxy_stop,
proxy_test_delay, proxy_update_kernel, proxy_update_profile, proxy_version, MihomoManager,
};
use monitor_kernel::{
monitor_get_snapshot, monitor_get_status, monitor_kernel_info, monitor_start, monitor_status,
monitor_stop, MonitorKernel,
};
use process_manager::{
get_all_process_status, get_process_status, start_monitoring_thread, start_process,
stop_all_processes, stop_process, ProcessManager,
@@ -96,6 +101,12 @@ pub fn run() {
proxy_set_system_proxy,
proxy_clear_system_proxy,
proxy_get_system_proxy,
monitor_kernel_info,
monitor_status,
monitor_start,
monitor_stop,
monitor_get_status,
monitor_get_snapshot,
downloader_get_tasks,
downloader_add_task,
downloader_pause_task,
@@ -126,6 +137,10 @@ pub fn run() {
let mihomo = MihomoManager::new(app_data_dir.clone());
app.manage(mihomo);
// 初始化 MonitorKernel,数据目录: {app_data_dir}/monitor/
let monitor = MonitorKernel::new(app_data_dir.clone());
app.manage(monitor);
// 初始化 DownloadEngine,数据目录: {app_data_dir}/downloader/
let engine = DownloadEngine::new(
app_data_dir.join("downloader"),
@@ -196,6 +211,18 @@ pub fn run() {
}
}
// 应用启动时自动启动 monitor Kernel(硬件监控默认启用,被动读取无副作用)
if let Some(monitor) = app.try_state::<MonitorKernel>() {
let monitor = monitor.inner().clone();
let app_handle = app.handle().clone();
tauri::async_runtime::spawn(async move {
match monitor.start_with_subscription(&app_handle).await {
Ok(info) => eprintln!("[monitor] 自动启动成功, pid={:?}", info.pid),
Err(e) => eprintln!("[monitor] 自动启动跳过: {}", e),
}
});
}
Ok(())
})
.on_window_event(|window, event| {