1

我对 2.6.24 内核上配置的 sysctl 表进行了用户空间 sysctl 调用。我已将 sysctl 代码迁移到 2.6.35 内核。当我从用户空间进行 sysctl() 调用时,我看到警告消息说“已弃用 sysctl 警告”。2.6.24 也是如此。有没有人对此有任何想法。此外,sysctl 处理程序 do_sysctl 在 2.6.24 中位于 sysctl.c 中,而在 2.6.35 中位于 sysctl_binary.co 中

4

1 回答 1

1

系统sysctl()调用长期以来一直被认为已弃用;确实手册页已经说过一段时间了:

或者更确切地说......不要调用它:长期以来一直不鼓励使用这个系统调用,而且它是如此不受欢迎,以至于它很可能在未来的内核版本中消失。立即将其从您的程序中删除;改用 /proc/sys界面。

正如它所说,您应该重写代码的用户空间部分以使用该/proc/sys接口。

于 2012-02-21T02:16:42.117 回答