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

Python os.system启动mode2进程后程序停滞,如何让后续代码执行?

解决Python调用mode2后停滞的问题

方法一:在shell命令后添加&实现后台运行

os.system()会阻塞当前Python进程,直到调用的shell命令执行完毕。由于mode2是持续运行的进程,这就导致Python脚本卡在这一步。只需在命令末尾添加&,让mode2在shell后台运行,shell会立即返回,Python就能继续执行后续代码:

import os
os.system("mode2 &")
# 此处可编写后续需要执行的代码

如果不想让mode2的输出干扰Python脚本的控制台输出,可以将输出重定向到/dev/null:

os.system("mode2 > /dev/null 2>&1 &")

方法二:使用subprocess.Popen(推荐方案)

os.system是较老旧的API,Python官方更推荐使用subprocess模块,它提供了更灵活的进程控制能力,且默认不会阻塞当前进程:

import subprocess
# 启动mode2进程,不阻塞后续代码执行
mode2_process = subprocess.Popen(["mode2"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 后续代码可正常运行
# 若需要终止mode2进程,可调用 mode2_process.terminate()

这种方式还能方便地捕获mode2的输出,或者在需要时主动终止该进程,相比os.system可控性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 12:25:17