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

CentOS Bash中后台执行命令重定向后仍输出至屏幕的问题

问题原因及解决办法

你遇到的情况是因为siege工具的输出逻辑设计:它把请求/响应的详细内容输出到标准输出(stdout),但最终的汇总统计信息被输出到了标准错误(stderr)——哪怕这部分内容不是错误信息。

你用的> pressure_image.log只重定向了标准输出到文件,标准错误还是会默认输出到终端屏幕,所以汇总信息会显示出来。

解决方法

把标准错误也一起重定向到同一个文件就行,用下面两种命令都可以:

方法1(兼容多数Shell):

siege -H "Content-Type:application/json" -c 10 -r 1000 'http://h1:9091/identity/co POST < identity_image.json' > pressure_image.log 2>&1 &

这里的2>&1表示把文件描述符2(stderr)的输出重定向到文件描述符1(stdout)当前指向的位置,也就是和stdout一起写入pressure_image.log。

方法2(仅Bash支持,更简洁):

siege -H "Content-Type:application/json" -c 10 -r 1000 'http://h1:9091/identity/co POST < identity_image.json' &> pressure_image.log &

&>是Bash的简写,直接把stdout和stderr都重定向到指定文件。

末尾的&可以让命令在后台执行,不占用当前终端会话。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 17:32:05