使用 ofstream 对正在写入的文件进行 cat 或 tail 安全吗?

发布于 2025-01-11 08:50:51 字数 232 浏览 0 评论 0原文

我正在运行一个 C++ 脚本,该脚本使用 std::ofstream 写入文件。该脚本需要很长时间,并且我想在运行时监视写入文件的内容。

从单独的 shell 窗口 cat 我的 .txt 文件是否安全?使用 tail -f myfile.txt 怎么样?

我正在使用 macOS Catalina,并且还在 Ubuntu 云实例中运行该脚本。

I'm running a C++ script that writes to a file using std::ofstream. The script takes a very long time, and I want to monitor what's been written to the file as it's running.

Is it safe to cat my .txt file from a separate shell window? What about using tail -f myfile.txt?

I'm using macOS Catalina and I'm also running the script in a Ubuntu cloud instance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

热情消退 2025-01-18 08:50:51

cat 将打印文件的当前内容并退出。

tail -f 将继续等待新数据附加到文件中以打印它,直到您手动终止它。

除了行为上的差异之外,这两种方法都没有什么“不安全”之处,至少在一般意义上是这样。

我不确定如果您将流位置移动到文件末尾以外的其他位置,它们将如何表现。

cat will print the current contents of the file and exit.

tail -f will keep waiting for new data to be appended to the file to print it until you terminate it manually.

Aside from the difference in behavior there is nothing "unsafe" about either method, at least not in a general sense.

I am not sure how they will behave if you move the stream position to write somewhere else than the end of the file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文