資源簡介
在Linux環境下,用C++語言編寫一個程序,以樹狀結構(即體現父子關系)輸出系統當前所有進程。 通過/proc目錄獲得各進程的父進程ppid,獲得進程樹的父親表示,再將進程樹的父親表示轉換成左孩子與右孩子,最后中序遍歷二叉樹,輸出進程信息即可。
代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
struct?pid_info{???//store?processes‘?information
int?pid;???//pid
int?ppid; //parent?pid
char?process_name[1024]; //process?name
pid_info*?child; //child?node
pid_info*?next_sibling; //brother?node
pid_info():child(NULL)next_sibling(NULL)pid(0)ppid(0){}??//initialize
pid_info(pid_info&?pi){???//copy?constructor
pid?=?pi.pid;
ppid=pi.ppid;
strcpy(process_namepi.process_name);
child?=?pi.child;
next_sibling?=?pi.next_sibling;
}
pid_info&operator?=?(const?pid_info&?pi){???//operator?=?overload
if(this?==?&pi)
return?*this;
pid?=?pi.pid;
ppid=pi.ppid;
strcpy(process_namepi.process_name);
child?=?pi.child;
ne
- 上一篇:C語言結構體部分代碼,很全哦!
- 下一篇:MFC下Ping功能實現
評論
共有 條評論