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

如何重定向xvfb-run执行的命令的错误输出

问题原因

xvfb-run 默认会将子进程的标准错误流合并到标准输出流,因此你原本的错误流重定向规则无法生效,脚本的所有输出都会被写入out文件。

解决方案

方案1:使用原生参数关闭重定向

给xvfb-run添加--no-redirect-stderr选项,即可关闭默认的流合并行为,保留你原本的输出分流逻辑:

xvfb-run -d --no-redirect-stderr script.py > out 2> err

方案2:嵌套shell执行(兼容旧版本)

如果你使用的xvfb-run版本不支持上述参数,可以通过子shell包裹执行逻辑,在shell内部完成输出分流:

xvfb-run -d sh -c 'script.py > out 2> err'

效果验证

你可以用如下测试脚本确认分流是否正常:
test.py 内容:

import sys
print("标准输出内容")
print("标准错误内容", file=sys.stderr)

执行后检查out仅包含标准输出内容、err仅包含标准错误内容即为配置正确。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:48:03