Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

linux module load

作者:绝朢╭ァ   发布日期:2026-01-15   浏览:88

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Your Name");
MODULE_DESCRIPTION("A simple Linux module to demonstrate loading and unloading.");

static int __init my_module_init(void) {
    printk(KERN_INFO "Hello, world! - from my_module_init\n");
    return 0; // Return 0 on success
}

static void __exit my_module_exit(void) {
    printk(KERN_INFO "Goodbye, world! - from my_module_exit\n");
}

module_init(my_module_init);
module_exit(my_module_exit);

解释说明:

  1. 模块声明

    • MODULE_LICENSE("GPL");:声明模块的许可证为GPL,确保模块可以与Linux内核兼容。
    • MODULE_AUTHOR("Your Name");:作者信息。
    • MODULE_DESCRIPTION("A simple Linux module to demonstrate loading and unloading.");:模块描述。
  2. 初始化函数

    • static int __init my_module_init(void):这是模块加载时调用的初始化函数。使用__init宏标记该函数仅在模块加载时执行一次。
    • printk(KERN_INFO "Hello, world! - from my_module_init\n");:向内核日志输出一条消息。
    • return 0;:返回0表示成功加载模块。
  3. 退出函数

    • static void __exit my_module_exit(void):这是模块卸载时调用的退出函数。使用__exit宏标记该函数仅在模块卸载时执行一次。
    • printk(KERN_INFO "Goodbye, world! - from my_module_exit\n");:向内核日志输出一条消息。
  4. 模块入口和出口

    • module_init(my_module_init);:指定模块加载时调用的初始化函数。
    • module_exit(my_module_exit);:指定模块卸载时调用的退出函数。

通过这段代码,你可以创建一个简单的Linux内核模块,它会在加载和卸载时分别打印出“Hello, world!”和“Goodbye, world!”到内核日志中。

上一篇:linux加权限

下一篇:linux socat

大家都在看

linux常用命令查询端口是否正常

linux 发送邮件

linux长ping命令

linux groupadd

linux关机命令行

linux重启oracle命令

linux把一个文件夹移动到另一个文件夹里

linux查看系统运行时间

linux搭建sftp

linux 重启网络命令

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站