首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在nohup下Ruby脚本可能存在I/O同步问题吗?

在nohup下Ruby脚本可能存在I/O同步问题吗?
EN

Stack Overflow用户
提问于 2013-10-18 23:02:34
回答 1查看 388关注 0票数 2

在nohup下运行Ruby脚本的输出有一个奇怪的问题。基本上,当写入日志文件或将stdout写入nohup.out时会出现严重的输出延迟。您可以在这里看到最初的帖子,它为该用例提供了答案:

StackOverflow - Question 19455667

有人建议我使用像file_object.sync = true这样的工具,但是我对为什么只有脚本在nohup下才会出现这种情况感兴趣。我猜nohup如何缓冲它自己的shell输出还有一个更深层次的复杂性。这样,如果我有更详细的输出,我就可以实现一个更优雅的解决方案。

任何额外的资源都很感激。

规范:Ruby1.8.7Linux:在CentOS 5.4、5.6和发布版2012.03 (有点类似于CentOS 6.2)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-22 23:43:42

这是因为当您的STDOUT不是连接到tty,而是连接到一个文件时,使用块大小的缓冲区,如果它连接到tty,则使用基于行的缓冲。

如果您在没有NOHUP的情况下运行命令,输出( stdout和stderr)仍将连接到相同的tty,并且将被行缓冲。NOHUP的默认行为是写入nohup.out文件。由于缓冲区通常比行大得多,所以需要更长的时间才能“显示”结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19529986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档