• 大小: 4KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-07
  • 语言: C/C++
  • 标签: linux  进程树  

资源简介

在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

评论

共有 条评论