Linux 使用timeout命令时如何在文件中获取日志?
我正在尝试将下面命令的日志抓取到一个文本文件中,如下所示:Linux 使用timeout命令时如何在文件中获取日志?,linux,bash,shell,Linux,Bash,Shell,我正在尝试将下面命令的日志抓取到一个文本文件中,如下所示: timeout 10 glxheads &> test.txt 但不幸的是,我没有通过这种方法将任何日志传输到文本文件 实际上,在超时情况下执行的任何简单命令都不会将输出发送到文件 注: 下面的命令起作用 glxheads &> test.txt 有人能提出一些解决这个问题的想法吗 谢谢 根据Dmitri指定的链接,我可以通过执行以下操作来解决此问题: stdbuf -oL -eL timeout 10
timeout 10 glxheads &> test.txt
但不幸的是,我没有通过这种方法将任何日志传输到文本文件
实际上,在超时情况下执行的任何简单命令都不会将输出发送到文件
注:
下面的命令起作用
glxheads &> test.txt
有人能提出一些解决这个问题的想法吗
谢谢 根据Dmitri指定的链接,我可以通过执行以下操作来解决此问题:
stdbuf -oL -eL timeout 10 glxheads &> test.txt
或使用
unbuffer timeout 10 glxheads &> test.txt
从这个线程中查看配方(
unbuffer
,stdbuf
,等等),我无法复制它。我用两个命令调用timeout:一个符合时间间隔,另一个不符合时间间隔。两者都按预期工作:第一个将所有输出写入日志,第二个只写入其输出的一部分。你确定在前10秒内打印输出吗?我做了与@Asalle相同的测试,我可以确认我无法重现问题。一切如期进行。您正在运行哪个版本的timeout
?在哪个系统上?用哪个贝壳?尝试将其称为\timeout
以确保您没有调用别名…同时从Mesa 8.2.0运行glxheads
在这两种情况下都会产生输出。我使用的是glxheads
来自Mesa 8.3.0-1
<代码>超时版本8.25@DmitriChubarov我可以使用unbuffer
命令修复此问题