【问题标题】:Is there such a thing as a posix lstatat call?有没有像 posix lstatat 调用这样的东西?
【发布时间】:2018-09-30 02:56:21
【问题描述】:

我正在研究 FUSE,并且在将保险丝安装在顶部之前,我有一个目录的文件描述符。我想使用该句柄在 FUSE 挂载的文件系统下读取/写入具有状态信息的文件,然后在下次挂载时能够访问该数据。所以我不能使用正常的 lstat 调用,因为它看不到我要访问的文件,而是 FUSE 公开的文件。我需要的是适用于符号链接的等效 fstatat,因为 fstatat 显然提供了符号链接指向的文件上的统计信息,而不是符号链接本身。但是我找不到此类功能的文档。它存在吗?我在想一个不正确的名字吗?

【问题讨论】:

  • man fstatat: AT_SYMLINK_NOFOLLOW 如果路径名是符号链接,请不要取消引用它:而是返回有关链接本身的信息,例如 lstat()。 (默认情况下,fstatat() 取消引用符号链接,如 stat()。)
  • 不,POSIX 尚未定义 lstatat()。检查pubs.opengroup.org/onlinepubs/9699919799/toc.htm 的 POSIX 标准,遵循 System Interfaces(在 LHS 框中),然后再次进入 System Interfaces(不同的位置)——它将为您提供所有指定函数的列表,lstatat() 不是其中之一.

标签: c++ c linux unix posix


【解决方案1】:

POSIX 中没有 lstatat() 函数,但是 fstatat() 接受一个可以是 AT_SYMLINK_NOFOLLOW 的标志参数, 这可能会满足您的需求。

【讨论】:

    猜你喜欢
    • 2013-07-30
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多