You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rust中打开新的控制台终端窗口?

在Rust中打开新终端窗口并执行命令

Windows平台实现

直接用std::process::Command调用Windows的cmd命令,复刻你Python代码的逻辑:

use std::process::Command;

fn main() {
    // 启动新CMD窗口,执行python bb.py后保持窗口打开
    Command::new("cmd")
        .args(["/C", "start", "cmd", "/K", "python", "bb.py"])
        .spawn()
        .expect("无法启动新终端");
}
  • cmd /C:让当前CMD进程执行后续命令后退出
  • start cmd /K python bb.py:start是Windows专属命令,用于启动独立窗口运行指定程序;/K参数保证命令执行完后终端窗口不关闭,换成/C则会执行完自动关闭窗口。

跨平台兼容方案

如果需要支持Linux或macOS,可以通过条件编译适配不同系统的终端命令:

use std::process::Command;

fn main() {
    #[cfg(windows)]
    {
        Command::new("cmd")
            .args(["/C", "start", "cmd", "/K", "python", "bb.py"])
            .spawn()
            .expect("无法启动新终端");
    }

    #[cfg(target_os = "linux")]
    {
        // 以xterm为例,也可以替换成gnome-terminal、konsole等
        Command::new("xterm")
            .args(["-e", "python bb.py"])
            .spawn()
            .expect("无法启动新终端");
    }

    #[cfg(target_os = "macos")]
    {
        Command::new("open")
            .args(["-a", "Terminal", "python", "bb.py"])
            .spawn()
            .expect("无法启动新终端");
    }
}

注意:Linux下需要确保目标终端(如xterm)已安装,不同发行版可能默认终端不同,可根据实际情况替换命令。

内容的提问来源于stack exchange,提问作者fernetserret

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:55:36