冗余Linux内核系统调用

冗余Linux内核系统调用,第1张

概述我目前正在开发一个项目,它挂钩到各种系统调用并将内容写入日志,具体取决于调用的是哪一个.因此,例如,当我更改文件的权限时,我会在跟踪旧权限和新权限的日志文件中写一个小条目.但是,我在确定我应该注意的位置时遇到了一些麻烦.对于上面的例子,strace告诉我“chmod”命令使用系统调用sys_fchmodat().但是,还有一个sys_chmod()和一个sys_fchmod(). 我确信内核开发人 我目前正在开发一个项目,它挂钩到各种系统调用并将内容写入日志,具体取决于调用的是哪一个.因此,例如,当我更改文件的权限时,我会在跟踪旧权限和新权限的日志文件中写一个小条目.但是,我在确定我应该注意的位置时遇到了一些麻烦.对于上面的例子,strace告诉我“chmod”命令使用系统调用sys_fchmodat().但是,还有一个sys_chmod()和一个sys_fchmod().

我确信内核开发人员知道他们在做什么,但我想知道:所有这些(看似)冗余系统调用的重点是什么,是否有关于哪些用于什么的规则? (即“at”系统调用或以“f”为前缀的那些意味着做某些特定的事情?)

解决方法 是的,有一些命名规则.

> chmod采用文件名,而fchmod采用文件描述符. stat与fstat相同.
> fchmodat采用文件描述符/文件名对(目录的文件描述符和目录中文件名的文件名).其他*在呼叫时相同;有关说明,请参阅http://kerneltrap.org/man/linux/man2/openat.2的NOTES部分.

总结

以上是内存溢出为你收集整理的冗余Linux内核系统调用全部内容,希望文章能够帮你解决冗余Linux内核系统调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1028870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存