什么 API 将允许我实现一个 linux 文件系统,它知道哪个进程正在访问它?
What API will allow me to implement a linux filesystem which is aware of which process is accessing it?
我想实现一个 linux 文件系统,无论是使用 FUSE 还是作为内核模块,它都知道正在查看它的进程,以便它可以根据需要定制文件系统的内容访问进程。
这种行为的具体示例在 /proc/self
中,它是 /proc/PID
的符号链接,其中 PID 是当前进程的 PID。
是否有允许我执行此操作的 FUSE 或内核 API?
/proc/self
的实现在这里:
https://github.com/torvalds/linux/blob/v4.3/fs/proc/self.c
它使用了各种内部内核 juju,所以 FUSE 可能是不可能的。
fuse-devel 邮件列表中乐于助人的人向我指出了一个答案:
fuse_req_ctx()
in fuse_lowlevel.h returns 当前请求的fuse_ctx
结构体,其中包含线程id、组id和用户id。
我想实现一个 linux 文件系统,无论是使用 FUSE 还是作为内核模块,它都知道正在查看它的进程,以便它可以根据需要定制文件系统的内容访问进程。
这种行为的具体示例在 /proc/self
中,它是 /proc/PID
的符号链接,其中 PID 是当前进程的 PID。
是否有允许我执行此操作的 FUSE 或内核 API?
/proc/self
的实现在这里:
https://github.com/torvalds/linux/blob/v4.3/fs/proc/self.c
它使用了各种内部内核 juju,所以 FUSE 可能是不可能的。
fuse-devel 邮件列表中乐于助人的人向我指出了一个答案:
fuse_req_ctx()
in fuse_lowlevel.h returns 当前请求的fuse_ctx
结构体,其中包含线程id、组id和用户id。