Linux 内核模块编程

Linux 内核模块编程

简单内核模块的编写

#include  <linux/kernel.h>     // 在内核模块中共享                                                                                    
#include  <linux/module.h>    // 一个模块                                                                                                     

int init_module()          //初始化模块                                                                                                                            
{                                                                                                                                                                            
   printk(“Hello! This is a testing module! \n”);                                                                               
   return 0;                                                                                           
}         

void cleanup_module()                                                                                                                          
{                                                                                                           
   printk(“Sorry! The testing module is unloading now! \n”);                                                                                 
}       

Makefile文件编写

obj-m += testmodule.o

KDIR =/usr/src/kernels/$(shell uname -r)/

all:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
    rm -rf *.o *.ko *.mod.* *.symvers *.order

内核模块编写

$ sudo insmod hello.ko
$ dmesg                   ==> u will get the output

"装载内核模块"

$ sudo rmmod hello
$ dmesg

"卸载内核模块"

模块描述信息

使用modinfo查看一个模块的模块信息

[luo@localhost testmodule]$ modinfo testmodule.ko
filename:       /home/luo/os_exec2/testmodule/testmodule.ko
rhelversion:    7.3
srcversion:     9099367E555C4E8B9DE8D54
depends:        
vermagic:       3.10.0-514.10.2.el7.x86_64 SMP mod_unload modversions 

"查看内核模块信息"

二叉树打印

二叉树打印

有一棵二叉树,请设计一个算法,按照层次打印这棵二叉树。
给定二叉树的根结点root,请返回打印结果,结果按照每一层一个数组进行储存,所有数组的顺序按照层数从上往下,且每一层的数组内元素按照从左往右排列。保证结点数小于等于500。

SSH 免密连接

SSH 免密连接

什么是SSH?

  简单说,SSH是一种网络协议,用于计算机之间的加密登录。
如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的(所以叫 Secure Shell 啊),即使被中途截获,密码也不会泄露。

服务器部署Hexo博客

服务器部署Hexo博客

dog/god说

最近真是沉迷博客无法自拔啊…在党员丁的“一块钱你买不到。。。”的理论感化下,入坑了腾讯云,顺便买了个.cn的域名(网站备案好繁琐啊)。言归正传,又花了两天把原来部署在github上的博客部署到服务器上,真是折腾了好久,遇到了各种谜之问题。写下安装步骤以防遗忘和以后可能的修复博客。

|