feat: Wired --tcp into daemon stop command with manual-stop warning; st…

- src/cli/daemon_cmd.rs

GSD context:
- Milestone: M001 - TCP Transport
- Slice: S02
- Task: T02 - Wired --tcp into daemon stop command with manual-stop warning; status already reports TCP vs local

GSD-Task: S02/T02
pull/43/head
David Li 2026-05-13 14:11:00 +08:00
parent 2d11f69d5b
commit 7681e69e68
1 changed files with 12 additions and 2 deletions

View File

@ -6,7 +6,7 @@ use crate::cli::transport;
pub fn cmd_daemon(cmd: DaemonCommands, tcp_addr: Option<&str>) -> Result<()> {
match cmd {
DaemonCommands::Status => cmd_status(tcp_addr),
DaemonCommands::Stop => cmd_stop(),
DaemonCommands::Stop => cmd_stop(tcp_addr),
DaemonCommands::Logs { follow, lines } => cmd_logs(follow, lines),
DaemonCommands::Start { tcp } => crate::daemon::run_start(tcp),
}
@ -29,7 +29,17 @@ fn cmd_status(tcp_addr: Option<&str>) -> Result<()> {
Ok(())
}
fn cmd_stop() -> Result<()> {
fn cmd_stop(tcp_addr: Option<&str>) -> Result<()> {
// TCP daemon is a separate process — cannot stop via PID file
if let Some(addr) = tcp_addr {
eprintln!(
"⚠ TCP daemon ({}) 是一个独立进程,无法通过 `wx daemon stop` 停止。\n\
kill / taskkill PID",
addr
);
return Ok(());
}
let pid_path = config::pid_path();
if !pid_path.exists() {
println!("daemon 未运行");