Function std::process::exit 1.0.0[−][src]
pub fn exit(code: i32) -> !
Expand description
使用指定的退出代码终止当前进程。
该函数将永远不会返回,并会立即终止当前进程。退出代码将传递到底层操作系统,并且可供其他进程使用。
请注意,由于此函数从不返回,并且终止了该进程,因此将不运行当前栈或任何其他线程的栈上的析构函数。 如果需要彻底关闭,建议仅在没有更多析构函数可以运行的已知点上调用此函数。
平台特定的行为
Unix: 在类似 Unix 的平台上,检查父级退出代码的父进程不太可能看到 exit
的所有 32 位。
在大多数类 Unix 平台上,仅考虑八个最低有效位。
Examples
由于此函数的行为与析构函数有关,因此使用该函数的常规方法是将实际的计算提取到另一个函数,并从其返回值计算退出代码:
fn run_app() -> Result<(), ()> { // 这里的应用逻辑 Ok(()) } fn main() { std::process::exit(match run_app() { Ok(_) => 0, Err(err) => { eprintln!("error: {:?}", err); 1 } }); }Run
由于 platform-specific behavior,此示例的退出代码将是 Linux 上的 0
,但 Windows 上的 256
:
use std::process; process::exit(0x0100);Run