当前位置: 技术问答>linux和unix
内核编程问题求教!!!!
来源: 互联网 发布时间:2015-05-28
本文导语: 在内核中想判断当前进程执行的是什么程序,是否可以在/arch/i386/kernel/process.c 的sys_execve中加入代码:strcmp(filename,"程序路径名")==0来进行判断? | 你要注意strcmp函数,默认是Glibc的,但是在...
在内核中想判断当前进程执行的是什么程序,是否可以在/arch/i386/kernel/process.c
的sys_execve中加入代码:strcmp(filename,"程序路径名")==0来进行判断?
的sys_execve中加入代码:strcmp(filename,"程序路径名")==0来进行判断?
|
你要注意strcmp函数,默认是Glibc的,但是在内核里已经重新实现了.记住用内核里的strcmp函数.
另外,确定程序名称可以用curr->comm
另外,确定程序名称可以用curr->comm
|
对了,在内核里应该用current->comm。不是curr。。。嘻嘻!~~~
再通过修改系统调用把comm的字符串传递出去。传递过程中得用copy_to_user
再通过修改系统调用把comm的字符串传递出去。传递过程中得用copy_to_user
|
我一般这样做:
int v = strcmp(current->comm, "name");
if(!v)
printk("....");
...
if(!v)
printk("....");
屡试不爽,呵呵
int v = strcmp(current->comm, "name");
if(!v)
printk("....");
...
if(!v)
printk("....");
屡试不爽,呵呵