diff --git a/src/commands/list.rs b/src/commands/list.rs index 4e4ed2e..8c36a1c 100644 --- a/src/commands/list.rs +++ b/src/commands/list.rs @@ -50,7 +50,8 @@ fn time_to_readable(seconds: u64) -> String { if minutes > 0 { result.push_str(&format!("{}m ", minutes)); } - if secs > 0 && days == 0 && hours == 0 { // 只在没有天和小时的时候显示秒 + if secs > 0 && days == 0 && hours == 0 { + // 只在没有天和小时的时候显示秒 result.push_str(&format!("{}s", secs)); } diff --git a/src/commands/restart.rs b/src/commands/restart.rs index 36420fd..85bd6da 100644 --- a/src/commands/restart.rs +++ b/src/commands/restart.rs @@ -5,7 +5,12 @@ use super::start::start_process; use super::stop::stop_process; use std::path::PathBuf; -pub fn restart_process(config: Option, namespace: Option, target: Option, args: Vec) { +pub fn restart_process( + config: Option, + namespace: Option, + target: Option, + args: Vec, +) { let dump_config = DumpConfig::get_instance(); // 如果指定了target,先检查是否是已存在的进程 diff --git a/src/commands/start.rs b/src/commands/start.rs index 37e7893..8a711cc 100644 --- a/src/commands/start.rs +++ b/src/commands/start.rs @@ -32,7 +32,7 @@ pub fn start_process( // 如果指定了target,先检查是否是已存在的进程 if let Some(ref target_str) = target { if let Ok(processes) = dump_config.list_processes() { - // 尝试将target解析为pmr_id + // 按pmr_id查找进程 if let Ok(pmr_id) = target_str.parse::() { if let Some(process) = processes.iter().find(|p| p.pmr_id == pmr_id) { start_existing_process(process); @@ -40,8 +40,8 @@ pub fn start_process( } } - // 按名称和namespace查找进程 - if let Some(process) = processes.iter().find(|p| p.name == *target_str && p.namespace == namespace) { + // 按name查找进程 + if let Some(process) = processes.iter().find(|p| p.name == *target_str) { start_existing_process(process); return; } @@ -66,8 +66,14 @@ pub fn start_process( }); if let Ok(processes) = dump_config.list_processes() { - if let Some(_existing) = processes.iter().find(|p| p.name == process_name && p.namespace == namespace) { - println!("\n进程 '{}' 在命名空间 '{}' 中已经存在:", process_name, namespace); + if let Some(_existing) = processes + .iter() + .find(|p| p.name == process_name && p.namespace == namespace) + { + println!( + "\n进程 '{}' 在命名空间 '{}' 中已经存在:", + process_name, namespace + ); list_processes(false); return; } @@ -131,6 +137,7 @@ pub fn start_process( args, ) .expect("无法将进程添加到配置文件"); + list_processes(false); } Err(e) => { eprintln!("启动进程失败: {}", e);