在 CentOS 系统中,kworker
是一个内核线程,用于处理来自内核空间的异步任务
sudo yum install kernel-devel kernel-headers gcc make
hello_module.c
的文件,并添加以下内容:#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
static int __init hello_init(void) {
printk(KERN_INFO "Hello, World!
");
return 0;
}
static void __exit hello_exit(void) {
printk(KERN_INFO "Goodbye, World!
");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Your Name");
MODULE_DESCRIPTION("A simple Linux kernel module");
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo insmod hello_module.ko
dmesg | tail
您应该能看到类似于以下内容的输出:
[ 1234.567890] Hello, World!
sudo rmmod hello_module
sudo reboot
请注意,这里的示例仅用于演示如何在 CentOS 系统中编译和加载内核模块。实际上,kworker
与内核模块没有直接关系。kworker
是内核线程,用于执行异步任务,而内核模块是 Linux 内核的可扩展部分,用于添加新功能和驱动程序。