【发布时间】:2011-11-28 11:35:10
【问题描述】:
我想使用 nohup 并将标准输出重定向到一个文件,但我不需要存档我只想能够交互式地查看当前标准输出。我想我可以将标准输出重定向到一个文件,以便在每次输出后刷新它
??? nohup ruby myapp.rb > output.log &
交互查看输出 tail -F ./output.log
【问题讨论】:
-
你需要更清楚这一点。如果我正确理解您的问题,那么您发布的命令正是您想要的。
tail -f旨在让您查看日志文件中当前发生的情况。 -
另外,你的 ruby 脚本会产生什么样的输出?此输出数据是否描述了您的程序的状态并且您只想查看最新的状态更新?
-
我的目标是避免日志文件变大,应用程序在任务结束时保存到数据库,此日志记录仅用于实时监控。所以我想知道每次覆盖日志文件是否是一个好主意,如果是这样,我该怎么做。 tail 命令完成了实时查看文件的工作,但我注意到它需要一些时间并且一次更新多行而不是一次更新一行
-
ruby 应用程序的标准输出仅是程序中各个步骤的 puts 命令的输出,是的,它只是最新的状态更新
-
避免大日志文件可以通过
logrotate程序轮换日志来解决。如果你想监控你的日志文件的大小,你可以在你的 ruby 应用程序中以编程方式这样做,然后直接登录到一个文件(你必须在你的 prog 中实现一种内部 logrotate)。如果您不关心日志中某些历史数据的丢失,请查看我对这个问题的回答。
标签: linux