我正在尝试在系统调用中获取当前进程的 CPU 和内存使用信息。我可以使用以下方法获取当前进程名称、pid 和 uid:
current->comm //process name
current->pid //process id
current_uid() //uid
但这似乎就是全部。(我使用的是内核 3.2.0-24-generic)
正如我从C 中当前进程的内存使用情况中看到的那样,读取(vfs_read)和解析/proc/pid/status
似乎是获取内存和 cpu 使用情况的唯一选择。
有没有更好的方法来获取这些信息,还是我走在正确的轨道上?
我还首先将我的代码作为内核模块进行测试,因为系统调用和内核模块都在内核空间中运行。这也是不好的方法吗?