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

Ubuntu环境下Python Multiprocessing如何为每个进程新建独立终端窗口

Ubuntu下多进程绑定独立终端窗口输出的实现方案

核心实现思路

Ubuntu 桌面环境默认提供终端启动命令,可以直接在子进程逻辑中调用终端命令,将你的业务逻辑作为终端的执行参数传入,即可实现每个进程的输出独立展示在单独的终端窗口中。

具体实现方案

方案1:GNOME 桌面环境(Ubuntu 默认桌面)

核心调用命令为 gnome-terminal -- bash -c "你的业务命令; exec bash",末尾加 exec bash 是为了业务命令执行完毕后终端不会自动关闭,方便查看历史输出,不需要保留的话可以去掉这部分。

Python Multiprocessing 参考示例:

import multiprocessing
import os

def run_worker(worker_cmd):
    # 启动独立终端运行子进程任务
    os.system(f'gnome-terminal -- bash -c "{worker_cmd}; exec bash"')

if __name__ == "__main__":
    # 替换为你三个进程对应的实际业务命令
    worker_commands = [
        "echo '进程1启动' && sleep 15",
        "echo '进程2启动' && sleep 15",
        "echo '进程3启动' && sleep 15"
    ]
    process_list = []
    for cmd in worker_commands:
        p = multiprocessing.Process(target=run_worker, args=(cmd,))
        process_list.append(p)
        p.start()
    
    for p in process_list:
        p.join()

其他桌面环境适配

如果你的系统使用的不是 GNOME 桌面,替换为对应终端的启动命令即可:

  • KDE 桌面:使用 konsole -e "你的业务命令"
  • Xfce 桌面:使用 xfce4-terminal -e "你的业务命令"

注意事项

  • 如果业务命令中包含引号、特殊字符,提前做转义处理,避免 bash 解析出错
  • 不需要终端常驻的话,直接去掉命令末尾的 ; exec bash 即可,任务执行完终端会自动关闭

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:24:00