首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Linux系统调用层跟踪文件的属性变化

问如何在Linux系统调用层跟踪文件的属性变化
EN

Stack Overflow用户
提问于 2017-11-03 18:22:30
回答 1查看 161关注 0票数 0

如何跟踪Linux内核系统调用层中的属性变化。

将文件名创建为test.txt

touch test.txt ->在这种情况下,访问时间已更改。在VFS层,这可以用"setattr“来跟踪,但是如何在sys调用层跟踪呢?

EN

回答 1

Stack Overflow用户

发布于 2017-11-03 18:37:28

touch使用函数utimensat()来完成此操作。你可以通过'strace touch test.txt‘来追踪它。http://pubs.opengroup.org/onlinepubs/9699919799/utilities/touch.html http://pubs.opengroup.org/onlinepubs/9699919799/functions/utimensat.html

任何write()或read()系统调用都会修改访问时间(如果挂载选项不阻止的话)。

除了使用显式系统调用直接操纵访问时间之外,Linux内核还使用由文件系统的atime挂载选项定义的规则来定义何时修改访问时间。在mount手册页面中搜索单词atime,以查看规则的详细信息。

查看fs/utimes.c可以帮助理解atime修改所涉及的系统调用。

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

https://stackoverflow.com/questions/47093387

复制
相关文章

相似问题

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