开发用户空间应用程序或守护程序时,提供某种形式的组件状态是良好的设计实践。我经常考虑使用 /proc 来达到此目的 - 这是一个可接受的解决方案吗?也许有一个复制 /proc 服务的用户空间库?
我发现的大多数其他参考资料都表明 /proc 是为内核和驱动程序开发人员保留的。
答案1
事实上,/proc 是为内核空间保留的。在 Linux 上,它是一种特殊的 fs 类型“procfs”,每个文件都是内核内某个函数的处理程序。
在用户空间中时,您无法在 /proc 中创建文件夹/文件。您可以创建一个内核模块来与您的进程进行对话,但这不是一个好主意,因为您将遇到严重的安全问题。不用说,内存损坏的巨大风险就是出问题了。
无论如何,您可以以 inotify 库(用户区和内核)为例:请参阅联机帮助页以下是用于在 /proc 中创建条目的内核模块代码示例:http://linux.die.net/lkmpg/x769.html
快乐的黑客:)