广告
返回顶部
首页 > 资讯 > 操作系统 >linux param指的是什么
  • 731
分享到

linux param指的是什么

linuxparam 2023-03-10 14:03:07 731人浏览 安东尼
摘要

这篇文章主要介绍“linux param指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux param指的是什么”文章能帮助大家解决问题。

这篇文章主要介绍“linux param指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux param指的是什么”文章能帮助大家解决问题。

linux param指的是“module_param”函数,其作用是传递命令行参数;在用户态下编程可以通过“main()”的参数来传递命令行参数,而编写一个内核模块则通过“module_param()”来传递参数。

从 main函数说起

我们在用户态写程序时都喜欢用main函数的如果参数来向程序内传递数据

#include <stlib.h>
#include <stdio.h>
int main(int arGC,char **argv)
{
exit(0);
}

其中argc为传入程序内参数的个数,argv为传入的参数 ,其中的第一个参数argv[0]为当前文件的含路径的名字,所以实际传入程序内的参数个数为argc-1个。

内核模块传入参数

内核模块中没有main函数,所以向模块内部传入参数可以通过module_param这个宏定义来实现:

// 原型
#define module_param(name, type, perm)     \
module_param_named(name, name, type, perm)

name:传入参数名称
type:传入参数类型,有byte, short, ushort, int, uint, long, ulong, charp, bool,invbool这几种类型
perm:这个为sysfs中资源的访问权限,下面再细说,主要有以下权限类型在uapi/linux/stat.h中定义

#define S_IRWXU 00700    // 用户读写可执行权限
#define S_IRUSR 00400    // 用户读权限
#define S_IWUSR 00200    // 用户写权限
#define S_IXUSR 00100    // 用户可执行权限

#define S_IRWXG 00070    // 用户组读写可执行权限
#define S_IRGRP 00040    // 用户组读权限
#define S_IWGRP 00020    // 用户组写权限
#define S_IXGRP 00010    // 用户组可执行权限

#define S_IRWXO 00007    // 其他人可读写执行权限
#define S_IROTH 00004    // 其他人可读权限
#define S_IWOTH 00002    // 其他人可写权限
#define S_IXOTH 00001    // 其他人可执行权限

模块 代码编写:

#include <linux/module.h>

int num = 100;
module_param(num,int,S_IRUSR);

static int __init param_init(void)
{
printk("[%s] num = %d\r\n",__FUNCTION__,num);
return 0;
}

static void __exit param_exit(void)
{
printk("[%s]  num = %d\r\n",__FUNCTION__,num)
}

module_init(param_init);
module_exit(param_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Chen");

Makefile文件:

ifneq ($(KERNELRELEASE),)
obj-m:=param.o
else
KERNEL_DIR:=/lib/modules/$(shell uname -r)/build
CURRENT_DIR:=$(shell pwd)
ccflags-y:=-std=gnu99 -Wno-declaration-after-statement
all:
$(MAKE) -C $(KERNEL_DIR) M=$(CURRENT_DIR) modules
clean:
$(MAKE) -C $(KERNEL_DIR) M=$(CURRENT_DIR) clean
endif

编译 程序,安装模块,然后dmesg
linux param指的是什么

模块安装后在/sys/module文件夹下会生成 对应模块名字的文件夹,进入文件夹内
linux param指的是什么

进入文件夹,文件夹内parameters文件夹内会会有之前程序中的num

linux param指的是什么

linux param指的是什么

从图片中可以看出内核在文件系统中会生成对应的文件让用户访问,并且模块中module_param宏定义中的perm设置了用户只读权限,所以num文件权限与其对应。
当然你也可以设置可写权限来改变输入参数 的值,改变后内核模块中的 该 参数会改变但是不会有任何信息提示。

关于“linux param指的是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网服务器栏目,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: linux param指的是什么

本文链接: https://www.lsjlt.com/news/199276.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux param指的是什么
    这篇文章主要介绍“linux param指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux param指的是什么”文章能帮助大家解决问题。 ...
    99+
    2023-03-10
    linux param
  • java中context-param的作用是什么
    在Java中,context-param是用于在web.xml文件中配置应用程序的初始化参数的。它的作用是提供一种在整个应用程序中共...
    99+
    2023-09-15
    java
  • @RequestBody,@RequestParam和@Param的区别是什么
    这篇文章主要介绍了@RequestBody,@RequestParam和@Param的区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。@RequestBody,@Re...
    99+
    2023-06-29
  • linux sw指的是什么
    这篇文章主要讲解了“linux sw指的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux sw指的是什么”吧! l...
    99+
    2023-03-07
    linux
  • linux cifs指的是什么
    本篇内容介绍了“linux cifs指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-04-20
    linux cifs
  • linux selinux指的是什么
    这篇文章主要介绍“linux selinux指的是什么”,在日常操作中,相信很多人在linux selinux指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linu...
    99+
    2023-04-20
    linux
  • linux mem指的是什么
    今天小编给大家分享一下linux mem指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-04-20
    linux mem
  • linux fuse指的是什么
    本篇内容主要讲解“linux fuse指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux fuse指的是什么”吧! ...
    99+
    2023-04-20
    linux fuse
  • linux tmpfs指的是什么
    本篇内容主要讲解“linux tmpfs指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux tmpfs指的是什么”吧! ...
    99+
    2023-04-20
    linux tmpfs
  • linux tcsh指的是什么
    本文小编为大家详细介绍“linux tcsh指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux tcsh指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。...
    99+
    2023-04-20
    linux tcsh
  • linux vcs指的是什么
    本篇内容主要讲解“linux vcs指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux vcs指的是什么”吧! li...
    99+
    2023-04-20
    linux vcs
  • linux apr指的是什么
    本文小编为大家详细介绍“linux apr指的是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux apr指的是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2023-04-20
    linux apr
  • suse linux指的是什么
    今天小编给大家分享一下suse linux指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。suse linux是德国...
    99+
    2023-06-30
  • linux fd指的是什么
    本篇内容主要讲解“linux fd指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux fd指的是什么”吧!在linux中,fd全称“File descriptor”,中文名为“文...
    99+
    2023-06-30
  • linux devel指的是什么
    今天小编给大家分享一下linux devel指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。linux中,devel...
    99+
    2023-06-30
  • linux mtu指的是什么
    这篇文章主要介绍了linux mtu指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux mtu指的是什么文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-03-02
    linux mtu
  • linux oops指的是什么
    本篇内容主要讲解“linux oops指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux oops指的是什么”吧! ...
    99+
    2023-03-02
    linux oops
  • linux os指的是什么
    本篇内容介绍了“linux os指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-02-14
    linux os
  • linux disc指的是什么
    这篇文章主要介绍了linux disc指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux disc指的是什么文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-03-15
    linux
  • linux ppc指的是什么
    今天小编给大家分享一下linux ppc指的是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-03-24
    linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作