![/proc 是否严格保留给内核/驱动程序空间?](https://linux22.com/image/69781/%2Fproc%20%E6%98%AF%E5%90%A6%E4%B8%A5%E6%A0%BC%E4%BF%9D%E7%95%99%E7%BB%99%E5%86%85%E6%A0%B8%2F%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E7%A9%BA%E9%97%B4%EF%BC%9F.png)
开发用户空间应用程序或守护程序时,提供某种形式的组件状态是良好的设计实践。我经常考虑使用 /proc 来达到此目的 - 这是一个可接受的解决方案吗?也许有一个复制 /proc 服务的用户空间库?
我发现的大多数其他参考资料都表明 /proc 是为内核和驱动程序开发人员保留的。
答案1
事实上,/proc 是为内核空间保留的。在 Linux 上,它是一种特殊的 fs 类型“procfs”,每个文件都是内核内某个函数的处理程序。
在用户空间中时,您无法在 /proc 中创建文件夹/文件。您可以创建一个内核模块来与您的进程进行对话,但这不是一个好主意,因为您将遇到严重的安全问题。不用说,内存损坏的巨大风险就是出问题了。
无论如何,您可以以 inotify 库(用户区和内核)为例:请参阅联机帮助页以下是用于在 /proc 中创建条目的内核模块代码示例:http://linux.die.net/lkmpg/x769.html
快乐的黑客:)