内核态怎么杀死一个知道名字的进程?
我这边已经实现了遍历所有进程,找出我需要的进程:
- C/C++ code
int process_cnt=0;struct task_struct *task = &init_task; // 全局进程列表struct task_struct *p;struct list_head *pos;read_lock(&tasklist_lock);list_for_each(pos,&task->tasks){ p = list_entry(pos, struct task_struct, tasks); process_cnt ++; os_printf("%d--->%s\n", p->pid,p->comm);}read_unlock(&tasklist_lock);os_printf("the number of process is:%d \n", process_cnt);现在需要把指定名字的一些进程杀掉。
1. 尝试了kill,这个接口是用户态加载了glibc才能用的,因此不行!
2. 尝试了sys_kill,结果加载的时候出现sxgt_xct: Unknown symbol sys_kill!
linux内核版本: linux-2.6.30
-----
请教下各位,其他还有什么办法能够达到我的目的?
[解决办法]
反正得kill
[解决办法]
force_sig(SIGKILL, int pid);这个也可以,pid就是进程号
[解决办法]
发信号
[解决办法]
给进程发信号