From 99b2aa9522f4659012f8d375128db8a33ce08fb0 Mon Sep 17 00:00:00 2001 From: lubeilin <1791778603@qq.com> Date: Tue, 29 Aug 2023 21:15:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9linux=E4=B8=8Akill=E4=B8=8D?= =?UTF-8?q?=E9=80=80=E5=87=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vnt-cli/src/main.rs | 24 ++++++++++++++++++++---- vnt/src/lib.rs | 2 +- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/vnt-cli/src/main.rs b/vnt-cli/src/main.rs index cbe2f78..3635f08 100644 --- a/vnt-cli/src/main.rs +++ b/vnt-cli/src/main.rs @@ -208,7 +208,7 @@ fn main() { println!("--thread invalid"); return; } - println!("version 1.2.0"); + println!("version {}",vnt::VNT_VERSION); let config = Config::new(tap, token, device_id, name, server_address, server_address_str, @@ -348,7 +348,7 @@ async fn main0(config: Config, show_cmd: bool) { #[cfg(unix)] tokio::select! { _ = vnt.wait_stop()=>{ - break; + return; } _ = signal::ctrl_c()=>{ let _ = vnt.stop(); @@ -377,7 +377,7 @@ async fn main0(config: Config, show_cmd: bool) { #[cfg(windows)] tokio::select! { _ = vnt.wait_stop()=>{ - break; + return; } _ = signal::ctrl_c()=>{ let _ = vnt.stop(); @@ -399,6 +399,22 @@ async fn main0(config: Config, show_cmd: bool) { } } } + #[cfg(unix)] + tokio::select! { + _ = vnt.wait_stop()=>{ + return; + } + _ = signal::ctrl_c()=>{ + let _ = vnt.stop(); + vnt.wait_stop_ms(std::time::Duration::from_secs(3)).await; + return; + } + _ = sigterm.recv()=>{ + let _ = vnt.stop(); + vnt.wait_stop_ms(std::time::Duration::from_secs(3)).await; + return; + } + } } vnt.wait_stop().await; } @@ -436,7 +452,7 @@ fn command(cmd: &str, vnt: &Vnt) -> bool { fn print_usage(program: &str, _opts: Options) { println!("Usage: {} [options]", program); - println!("version:1.2.0"); + println!("version:{}",vnt::VNT_VERSION); println!("Options:"); println!(" -k {}", green("必选,使用相同的token,就能组建一个局域网络".to_string())); println!(" -n 给设备一个名字,便于区分不同设备,默认使用系统版本"); diff --git a/vnt/src/lib.rs b/vnt/src/lib.rs index 5365075..842f6f8 100644 --- a/vnt/src/lib.rs +++ b/vnt/src/lib.rs @@ -1,5 +1,5 @@ use crate::error::Error; - +pub const VNT_VERSION:&'static str = "1.2.1"; pub type Result = std::result::Result; pub mod error;