使用sysctl来实现内核参数修改

本文介绍了如何使用sysctl在内核模块中定义和注册控制条目,包括整型和字符串类型。通过示例展示了如何在用户态应用程序中通过sysctl系统调用来查看和修改这些内核参数。
摘要由CSDN通过智能技术生成

//header: sysctl-exam.h


#ifndef _SYSCTL_EXAM_H


#define _SYSCTL_EXAM_H


#include <linux/sysctl.h>

 

#define MY_ROOT (CTL_CPU + 10)


#define MY_MAX_SIZE 256

 

enum {


        MY_INT_EXAM = 1,


        MY_STRING_EXAM = 2,


}; //sysctl 条目 ID,用户态应用和内核模块需要这些 ID 来操作和注册 sysctl 条目


#endif

 

 

//kernel module: sysctl-exam-kern.c


#include <linux/kernel.h>


#include <linux/module.h>


#include <linux/sysctl.h>


#include "sysctl-exam.h"

 

static char mystring[256];


static int myint;  // 定义模块内部变量

 

static struct ctl_table my_sysctl_exam[] = {   // 在该内核模块中,每一个 sysctl 条目对应一个 struct ctl_table 结构


        {


                .ctl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值