我不确定这是否是一个有效的问题。我不是理解系统工作的高手。我的一个程序将日志写入文本文件。另一个电子邮件程序在计划程序和电子邮件上运行,并在文件夹中找到日志文件。 我的问题是,如果在任何时候如果第一个程序正在将信息写入文件中,并且同时电子邮件调度程序运行会发生什么?电子邮件程序是否可以将文件邮寄并存档?如果是,那么较早的程序将写入文件崩溃?如何处理这种情况而不会崩溃任何程序?当系统在文件C++编写信息时移动文件
0
A
回答
0
无论如何,你的设置会导致一些麻烦。
我认为最简单的解决方案是让写入日志文件的程序执行此操作,例如前5分钟的emailer /归档计划运行:
- 开始一个新的文件用于记录
- 复制或重命名旧文件到邮件器/归档使用文件。
+0
如果日志记录程序是基于实时事件的程序,该怎么办? – user2388323
+0
你认为会发生什么样的麻烦? –
+0
@ user2388323:特别是如果它是实时程序,重要的是它不会受到归档程序的干扰。您可以编写日志程序,以便在特定时间切换文件。这样,正在写入的文件与正在归档的文件永远不会相同。 – Mikkel
相关问题
- 1. Hadoop文件系统统计信息(FileSystem.Statistics)
- 2. 文件系统信息 - 如何查询?
- 3. 避免系统卷信息文件夹
- 4. 显示在文件中的C++系统信息
- 5. PHP,系统日志不写错误信息到错误文件
- 6. C++文件系统
- 7. 关于基于unix的文件系统的文件信息
- 8. 写入时移动文件?
- 9. 当文件可用时移动文件
- 10. C#文件信息
- 11. 用C++编写的文本编辑器的插件系统
- 12. 在编译时生成信息文件
- 13. 在C++中编写与文件系统相关的代码
- 14. 在系统重新启动时移动文件
- 15. iPhone移动Safari文件系统访问
- 16. golang移动访问文件系统
- 17. 将文件移动到系统分区
- 18. C#:写一个RTF(文本)文件到系统驱动器
- 19. 写入Windows文件系统
- 20. 写入到文件系统
- 21. 查询文件系统信息动态使用LINQ
- 22. 文件已存在当移动文件
- 23. 用C++编写插件系统
- 24. Android编辑系统文件
- 25. C#文件系统监视器和FIleStream编写器
- 26. 编写系统调用C,填充垃圾文件
- 27. 当生成的文件位于另一个文件系统上时,Java移动(重命名)文件失败
- 28. Unix上的NFS文件系统上的文件移动问题
- 29. 如何找到并移动文件系统上的文件?
- 30. C#编写文件
您需要同步程序。检查生产者消费者问题 http://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem – bjskishore123
这完全取决于您的操作系统和打开文件的方式(例如锁定等) – PlasmaHH
使用'fcntl()锁定文件并在目标达到时释放。如写入时锁定和写入时释放。 – bikram990