我对2.6.24内核上配置的sysctl表进行了用户空间sysctl调用。我已经将sysctl代码迁移到了2.6.35内核。当我从用户空间进行sysctl()调用时,我看到警告消息说'deprecated sysctl warning‘。在2.6.24上也是如此。有没有人知道这个。此外,sysctl处理程序do_sysctl位于2.6.24中的sysctl.c中,而2.6.35中的sysctl处理程序do_sysctl位于sysctl_binary.c oa中
发布于 2012-02-21 10:16:42
长期以来,人们一直认为sysctl()系统调用已被弃用;实际上,手册页已经说明了一段时间:
或者更确切的说..。不要调用它:长期以来,一直不鼓励使用这个系统调用,而且它非常不受欢迎,很可能会在未来的内核版本中消失。现在将其从您的程序中删除;改用
/proc/sys接口。
正如它所说的,您应该重写代码的用户空间部分以使用/proc/sys接口。
https://stackoverflow.com/questions/9370646
复制相似问题