@1405010304geshuaishuai
2016-04-10T14:27:41.000000Z
字数 959
阅读 535
Linux 系统分析实验报告 |
---|
实验三 ---- Linux系统进程树 |
---|
姓名 | 学号 | 班级 |
---|---|---|
葛帅帅 | 1405010304 | 三班 |
打印Linux系统进程树
- 理解task_struct结构及进程管理机制
- 了解内核链表遍历机制
基于32位的Linux Mint 17.3的计算机
图2-1 Linux Mint 17.3桌面环境 |
---|
除了您现在看到的这个 Linux系统版本,您还可以前往以下网址下载:
- 独立完成
main()函数调用printf_pstree(),其中ppid=0,即从0号进程开始打印;对于每层递归,检验所有进程,若该进程父进程号与调用该函数的进程号相同,则表明该进程为父进程的子进程,同时将该进程递归数加1,调用print_pstree()打印出该进程的子进程。
void print_pstree(info *file,int count,int ppid,int rec)
int i,j,k;
for(i=0;i<count;i++){
if(file[i].flag==0&&file[i].ppid==ppid){
file[i].rec=rec+1;
file[i].flag=1;
for(k=0;k<rec;k++)
printf(" ");
printf("%s\n",file[i].name);
printf_pstree(file,count,file[i],pid,file[i].rec);
}
}
}
gcc -o pstree1 pstree1.c
./pstree1
成功打印系统进程树如图3-2
图3-2 进程树 |
---|