阅读内容

Linux C编程实现杀死所有进程编程实现

[日期:2008-05-02] 来源:Linux公社  作者:C++


今天在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来实现感染进程的病毒程式分析>>,文:大鹰 (作者:七星居)




相关资讯       c编程  linux编程 
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:

L
I
N
U
X


GOOGLE搜索
Google