資源簡介
在linux下利用c語言實現的進程樹的打印,主要通過/proc下的目錄中的進程文件,獲取status中的進程信息內容,然后利用遞歸實現進程樹的打印
代碼片段和文件信息
#include
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
char?default_path[1024]=“/proc/“;
int?s=0;
typedef?struct?file_info{
int?pid;
int?ppid;
char?name[1024];
int?flag;
int?rec;
}info;
int?my_getpid(char?*str){
int?len=strlen(str);
char?num[10];
int?ijret;
if(strncmp(str“Pid“3)==0){
//printf(“%s“str);
for(i=0;i if(str[i]>=‘0‘&&str[i]<=‘9‘)
break;
}
//printf(“len=%di=%d\n“leni);
for(j=0;j num[j]=str[i+j];
}
//num[j]=‘\0‘;
//printf(“%s“num);
ret=atoi(num);
//printf(“ret=%d\n“ret);
}
else?ret=0;
return?ret;
}
int?my_getppid(char?*str)
評論
共有 條評論