5个不稳定版本
0.3.2 | 2024年1月2日 |
---|---|
0.3.1 | 2024年1月2日 |
0.3.0 | 2023年11月15日 |
0.2.0 | 2023年11月8日 |
0.1.0 | 2023年11月8日 |
#294 in Unix APIs
277 monthly downloads
10KB
165 lines
tokio-process-terminate
扩展了 tokio::process::Child
以终止进程。
use tokio::process::Command;
use tokio_process_terminate::TerminateExt;
#[tokio::main]
async fn main() {
let mut command = Command::new("sleep")
.arg("10")
.spawn()
.unwrap();
tokio::time::sleep(std::time::Duration::from_secs(1)).await;
let exit = command.terminate_wait().await.unwrap();
dbg!(exit);
let code = exit.code();
// On Unix, code should be `None` if the process was terminated by a signal.
assert!(code.is_none());
}
lib.rs
:
扩展了 tokio::process::Child
以终止进程。
use tokio::process::Command;
use tokio_process_terminate::TerminateExt;
#[tokio::main]
async fn main() {
let mut command = Command::new("sleep")
.arg("10")
.spawn()
.unwrap();
tokio::time::sleep(std::time::Duration::from_secs(1)).await;
let exit = command.terminate_wait().await.unwrap();
dbg!(exit);
let code = exit.code();
// On Unix, code should be `None` if the process was terminated by a signal.
assert!(code.is_none());
}
依赖
~3–13MB
~144K SLoC