我目前正在尝试创建一个内核模块,该模块将根据内核事件生成数据并将它们推送到文件中。在读到这很糟糕(我同意)之后,我决定将数据放在 /proc 文件中,用户程序可以在必要时从中提取数据会更有意义。然而,这个想法导致了各种各样的问题,特别是何时以及如何清除这个文件。所以我想......“为什么我不在 /proc 中创建一个命名管道并从中读取呢?”
我已经掌握了为 proc 文件设置读取函数和写入函数的一般要点,但我仍然在如何处理这个问题上遇到概念上的问题。也就是说,我将如何编写这样一个函数来获取任意数据并将其从内核写入这样的管道?有谁知道如何将数据从内核空间推送到命名管道?最后,它不一定是/proc 文件(特别是如果我这样做是错误的),但这是我得出的结论。然后我必须弄清楚如何从用户空间程序附加到它,但我觉得这是一个单独的问题。