永发信息网

如何杀掉D状态的进程?[zt]

答案:2  悬赏:30  手机版
解决时间 2021-03-14 22:44
如何杀掉D状态的进程?[zt]
最佳答案
怎么办?开枪!kill -9!看你们走是不走。但这两种垃圾进程偏偏是刀枪不入的,不管换哪种枪法都杀不掉它们。无奈,只好reboot,像剿灭禽流感那样不分青红皂白地一律扑杀!
基本想法就是修改内核,遍历进程列表,找到处于D状态的进程,将其状态转换为别的状态就可以kill掉了。
内核模块代码:
—————-killd.c—————-
#include
#include
#include //for_each_process
MODULE_LICENSE("BSD");
static int pid = -1;
module_param(pid, int, S_IRUGO);
static int killd_init(void){struct task_struct * p;
printk(KERN_ALERT "killd: force D status process to death/n");
printk(KERN_ALERT "killd: pid=%d/n", pid);
//read_lock(&tasklist_lock);
for_each_process(p){
if(p->pid == pid){
printk("killd: found/n");
set_task_state(p, TASK_STOPPED);
printk(KERN_ALERT "killd: aha, dead already/n");return 0;}}printk("not found");
//read_unlock(&tasklist_lock);return 0;}static void killd_exit(void){printk(KERN_ALERT "killd: bye/n");}module_init(killd_init);
module_exit(killd_exit);
—–Makefile————
obj-m := killd.o
编译模块make -C yourkerneltree M=`pwd` modules
插入模
全部回答
可以私聊我~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我现在考250还能考到 350分?
阿姨奶茶卜弋桥店我想知道这个在什么地方
我儿子八九岁了从小都便秘,四五天拉一次大便
知道有人骗保险公司怎么举报 汽车骗保
关于ps3侠盗飞车5的问题:请问,我按照网上的
想知道: 长春市 长春德惠长青岭 在哪
昨天听到一首歌,歌词好像是 那么那么那么的
高州市食品企业集团曹江食品公司地址有知道的
心绪不()
幼儿园助教没有牙齿的老虎目的怎样写
家庭最简单的卷发方法怎么做,需要啥
WORD EXCEL 文本文档 和写字板这些办公软件该
难道朋友都不借钱的吗??。
之前欠费了 供暖私自停了 还用交费吗
四世堂大药房江麓店地址在什么地方,想过去办
推荐资讯
园丁绿苑在哪里啊,我有事要去这个地方
老婆为什么总更改锁屏密码
百度浏览器完全没有历史记录怎么办
iphone在国外怎么使用4g网络
电动车店里想装镜子,怎样装效果最好
魔兽世界徽章
青岛国增在哪里
赣鑫汽车美容中心在哪里啊,我有事要去这个地
冰箱指示灯亮,但压缩机不起动,不制冷什么原
树先生酒吧我想知道这个在什么地方
今年石家庄医学专科学校录取分数是多少
龙虾脑袋能吃吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?