linux - 如何在 linux 中找到现在写入的文件?

标签 linux file-io

我需要在 linux 中查找当前由某个脚本编写的文件。该脚本正在运行并写入一些日志、txt 和一些其他文件,我想找出具体涉及哪些文件。可能吗?

我尝试用 find 做到这一点,首先创建具有特定时间戳的文件 temp.cnewer:

touch temp.cnewer -t 201012091145

然后通过查找创建后修改的所有文件:

find / -type f -newer temp.cnewer

但是显示的结果太多了。当我检查其中几个的统计信息时,它显示修改时间是在未来的时间(不知道它是怎么发生的,系统时间是正确的):...

Access: 2010-12-09 18:09:14.214730466 +0000
Modify: 2010-12-09 18:09:14.214730466 +0000
Change: 2010-12-09 18:09:14.214730466 +0000

还有其他方法可以选择这些文件吗?

最佳答案

根据文件打开的时间长短,lsof 命令可能会执行您想要的操作。另一种选择是在 strace 下运行它并查找文件打开系统调用。

关于linux - 如何在 linux 中找到现在写入的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4402246/

相关文章:

json - 如何在jq中分组?

c++ - Basler Pylon 4 SDK 和 OPENCV 2.4.8,Linux 简单查看器

java - JFileChooser.showOpenDialog() 卡住我的程序

python - 创建+读取+追加+二进制的文件模式

c - Hooking mmap系统提供实时类型转换?

c - 编译后如何在linux中执行程序?

c - 打开文件给出意外的返回值

java - 在java中读/写一个大文件

c++ - 如何以阻塞方式删除文件/文件夹?

客户端套接字无法使用轮询/选择接收数据