资源简介

增加系统调用,遍历系统当前所有进程的任务描述符,并将pid组织成树状结构显示,压缩包中包含源码和文档

资源截图

代码片段和文件信息

#include         //Linux标准头文件,定义了各种符号常数和类型,并声明了各种函数。
#include 
#include 
#include 
//定义进程的结构体
struct process
{
int pid;   //进程id
int depth; //深度
};
//定义数组 装载进程
struct process a[512];
 
int main()
{
int ij;
    //在用户态空间我们使用syscall()这个函数去触发223的系统调用
syscall(223&a);
    //遍历进程
for(i = 0; i < 512; i++)
{
for(j = 0; j < a[i].depth; j++) //通过depth 来控制输出父子关系
printf(“|-“);
printf(“%d\n“a[i].pid);   //输出进程的id
if(a[i+1].pid == 0)     //pid==0,指父进程自己  结束循环
break;
}
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      106496  2020-01-16 11:53  程序报告.doc
     目录           0  2020-01-16 11:50  程序源码\
     文件         378  2020-01-06 06:53  程序源码\Makefile
     文件           0  2020-01-06 12:56  程序源码\Module.symvers
     文件        3745  2020-01-08 16:00  程序源码\ProgressTreePrintKernel.c
     文件        5944  2020-01-06 12:56  程序源码\ProgressTreePrintKernel.ko
     文件         982  2020-01-06 12:56  程序源码\ProgressTreePrintKernel.mod.c
     文件        2856  2020-01-06 12:56  程序源码\ProgressTreePrintKernel.mod.o
     文件        5136  2020-01-06 12:56  程序源码\ProgressTreePrintKernel.o
     文件          54  2020-01-06 12:56  程序源码\modules.order
     文件        8463  2020-01-06 12:56  程序源码\print_test
     文件         771  2020-01-08 15:46  程序源码\print_test.c

评论

共有 条评论