Function std::process::exit 1.0.0[−][src]
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由于 特定于平台的行为,此示例的退出代码将是 Linux 上的 0
,但 Windows 上的 256
:
use std::process;
process::exit(0x0100);
Run