gpt4 book ai didi

linux - 使用 vmstat 时没有通过管道写入任何内容

转载 作者:太空宇宙 更新时间:2023-11-04 04:16:54 24 4
gpt4 key购买 nike

我希望写入终端或文件的一些命令管道在经过很长时间后才会写入任何内容。

看起来数据没有被行缓冲,但是如果我使用 Ctrl-C 发送 SIGINT,则不会出现任何预期的输出。是什么原因造成的?

当我最终决定停止收集时,我想修改并收集 vmstat 输出的每一行,而不会丢失数据。

以下是一些密切相关的示例:

output to terminal: vmstat -n 1 | sed ''
output to terminal: echo foo | sed '' | tee /dev/null
output to file: vmstat -n 1 > somefile
output to file: echo foo | sed '' > somefile
no output to terminal: vmstat -n 1 | sed '' | tee /dev/null
no output to file: vmstat -n 1 | sed '' > somefile

最佳答案

您可以尝试stdbuf使用选项 --output=L--output=0 分别使输出行缓冲或不缓冲

stdbuf --output=L vmstat -n 1 >somefile

关于linux - 使用 vmstat 时没有通过管道写入任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15988565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com