如何在不使用current-> pid的情况下识别内核读取函数中的进程

时间:2010-06-07 21:17:14

标签: unix linux-kernel kernel

我的讲座要求我们构建模块,我们需要识别每个读取过程,同一个读取过程在同一个写入按钮上调用两次,我们应该将他插入队列,当我们读完所有读者时,我们就会醒来通过在每个节点内使用pid和boolean read / not_read列表来实现目标,但是他决定讨厌并要求我们使用FILE struct中的一些参数来帮助我吗?....

1 个答案:

答案 0 :(得分:0)

这里的关键概念是您不应该直接识别流程 - 您应该识别特定的struct file。每当您的文件为struct file - ed。

时,都会创建一个新的open()

实际上您根本不需要向struct file添加任何数据 - 您只需将PID列表转换为struct file *列表,指向struct file当前打开特殊文件的。

然而,在列表中包含指向private_data的指针的struct file点的struct file指针会更高效(这将使您能够在使用它时快速找到该节点,而不是必须扫描列表。)