-
大小: 76KB文件類型: .zip金幣: 1下載: 0 次發(fā)布日期: 2021-01-03
- 語言: 其他
- 標(biāo)簽: linux??系統(tǒng)調(diào)用??進程遍歷??
資源簡介
增加系統(tǒng)調(diào)用,遍歷系統(tǒng)當(dāng)前所有進程的任務(wù)描述符,并將pid組織成樹狀結(jié)構(gòu)顯示,壓縮包中包含源碼和文檔
代碼片段和文件信息
#include?????????//Linux標(biāo)準(zhǔn)頭文件,定義了各種符號常數(shù)和類型,并聲明了各種函數(shù)。
#include?
#include?
#include?
//定義進程的結(jié)構(gòu)體
struct?process
{
int?pid;???//進程id
int?depth;?//深度
};
//定義數(shù)組?裝載進程
struct?process?a[512];
?
int?main()
{
int?ij;
????//在用戶態(tài)空間我們使用syscall()這個函數(shù)去觸發(fā)223的系統(tǒng)調(diào)用
syscall(223&a);
????//遍歷進程
for(i?=?0;?i?512;?i++)
{
for(j?=?0;?j? printf(“|-“);
printf(“%d\n“a[i].pid);???//輸出進程的id
if(a[i+1].pid?==?0)?????//pid==0,指父進程自己??結(jié)束循環(huán)
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
評論
共有 條評論