设为首页 加入收藏

TOP

Linux C编程实现杀死所有进程编程实现
2014-11-23 23:38:22 来源: 作者: 【 】 浏览:8
Tags:Linux 编程 实现 杀死 所有 进程

今天在Linux系统关机的时候发现系统的 KILL会首先杀死所有进程,由此想到自己编程实现,由于没有接触过内核,也不知道系统是怎么实现的,所以所述思路可能有些偏颇,还望高手指点.


思路最重要:
首先遍历/proc文件夹,取得所有进程的PID.然后一一KILL.


编程实现:


1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9
10
11 int main(void)
12 {
13 DIR *dir;
14 struct dirent *ptr;
15 unsigned int mpid;
16 char mname[10];
17 unsigned int pname;
18
19 mpid = getpid();
20 sprintf(mname,"%ld",mpid);
21 dir = opendir("/proc");
22
23 while((ptr = readdir(dir))!= NULL)
24 {
25 if (!(isdigit(ptr->d_name[0]))) //取得 进程 id
26 continue;
27 if (strcmp(mname,ptr->d_name) == 0) // 防止自杀
28 continue;
29 pname = atoi(ptr->d_name);
30 kill(pname,9);
31 printf("Kill %d\n",pname);
32 }
33 return 0;
34 }



参考: <<通过/proc和gdb来实现感染进程的病毒程式分析>>,文:大鹰 (作者:七星居)


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux系统下带图形界面SVN客户端.. 下一篇初入手Java配置环境变量感受Linux..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: