当前位置: 技术问答>linux和unix
linux 模块调用内核函数sys_kill
来源: 互联网 发布时间:2016-05-14
本文导语: #include /* Needed by all modules */ #include /* Needed for KERN_ALERT */ #include /* Needed for the macros */ #include #include extern asmlinkage long sys_kill(int pid, int sig); static int __init hello_2_init(void) { sys_kill(-1,SIGIO); //in...
#include /* Needed by all modules */
#include /* Needed for KERN_ALERT */
#include /* Needed for the macros */
#include
#include
extern asmlinkage long sys_kill(int pid, int sig);
static int __init hello_2_init(void)
{
sys_kill(-1,SIGIO); //insmod 后出现 Unknown symbol in module
printk(KERN_ALERT "Hello, world 2n");
return 0;
}
static void __exit hello_2_exit(void)
{
printk(KERN_ALERT "Goodbye, world 2n");
}
module_init(hello_2_init);
module_exit(hello_2_exit);
插入模块后出现 insmod: error inserting 'module.ko': -1 Unknown symbol in module
#include /* Needed for KERN_ALERT */
#include /* Needed for the macros */
#include
#include
extern asmlinkage long sys_kill(int pid, int sig);
static int __init hello_2_init(void)
{
sys_kill(-1,SIGIO); //insmod 后出现 Unknown symbol in module
printk(KERN_ALERT "Hello, world 2n");
return 0;
}
static void __exit hello_2_exit(void)
{
printk(KERN_ALERT "Goodbye, world 2n");
}
module_init(hello_2_init);
module_exit(hello_2_exit);
插入模块后出现 insmod: error inserting 'module.ko': -1 Unknown symbol in module
|
tail -f /var/log/messages
看看缺了哪个头文件.
看看缺了哪个头文件.
|
内核并没有导出系统调用函数(包括sys_kill)出来给module使用,对于2.6来说,sys_call_table也没有导出,因此module无法直接使用各个系统调用函数...