是否有一种简单的方法来检测写入文件何时关闭?我有一个每5秒钟启动一个新文件的进程。我无法更改该过程的代码。我正在编写另一个过程,在创建时立即分析每个文件的内容。是否有一种简单的方法来查看某个目录,以查看文件何时不再打开以供写入?我希望得到某种Linux命令。检测文件已关闭
Q
检测文件已关闭
2
A
回答
2
你可以把东西放在strace顶部来提高你的事件。
尝试:
strace ls 2>&1 | grep "close\|open"
使用inotify的也是一个不错的主意,但可能需要更多的编码来得到你所需要的。
1
2
如果你知道有文件中表示写你完成可以很容易地观看,使用命令,如grep
也有一些特定的文本(行),可以使用fuser
命令,如果文件找出来正在使用中。
2
由于您正在使用Linux作为您的平台,您可能需要查看inotify系统调用。当监视目录时,输出文件被写入,您将获得在那里创建的文件的打开/关闭事件。
如果你想把它集成到shell脚本中,请看inotifywait,它是inotify-tools的一部分。
1
如果您知道正在写入文件的进程的进程ID,您可以观看/proc/<pid>/fd/
以查看它已打开哪些文件。
相关问题
- 1. 检测Excel文件是否已关闭
- 2. 检测SKShapedNode已关闭
- 3. 检测COM端口是否已关闭
- 4. 如何检测一个SubView已关闭?
- 5. NIO - 检测已关闭的连接
- 6. 检测Portlet会话已关闭
- 7. 如何检测JFrame已关闭?
- 8. 检测Android中的活动已关闭
- 9. 检测popover关闭
- 10. 检测Outlook检查器窗口是否已关闭
- 11. 检测vb.net浏览器关闭事件
- 12. 如何检测IE11关闭事件
- 13. 检测iframe何时关闭
- 14. 检测窗口关闭
- 15. .txt文件是否已关闭?
- 16. 无法访问已关闭的文件
- 17. 重命名已关闭的文件
- 18. 如何检测无模式CDialog是否已关闭?
- 19. 检测TCP中的另一个对端已关闭
- 20. Ruby:如何检测套接字的一侧是否已关闭
- 21. 如何检测设备浏览器是否已关闭?
- 22. 检测启动的进程是否已关闭
- 23. 检测客户端的浏览器是否已关闭Cookie
- 24. PHP脚本可以检测套接字是否已关闭?
- 25. 池在测试时已关闭(HikariDataSource)
- 26. 如何测试FileInputStream已关闭?
- 27. 如何检查zipfile是否已关闭
- 28. 检查浏览器是否已关闭
- 29. 如何检查net.Conn已关闭?
- 30. java.io.IOException:BufferedInputStream已关闭
什么语言?每个进程调用什么上下文? – IAbstract 2010-04-14 16:34:03
为了有更多的时间来处理文件,可以考虑在内存中创建一个文件系统 - 这应该可以加快速度。 – 2010-04-14 16:36:17
任何语言。我希望在bash中有所作为,但任何事情都可以做到。该进程是一个命令行实用程序,由用户直接执行并运行几个小时。 – User1 2010-04-14 16:40:42