首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

小弟我想做个进程管理程序,就是往共享内存中插入进程记录,查找进程记录,删除进程记录,用map能实现吗

2012-03-03 
我想做个进程管理程序,就是往共享内存中插入进程记录,查找进程记录,删除进程记录,用map能实现吗进程结构进

我想做个进程管理程序,就是往共享内存中插入进程记录,查找进程记录,删除进程记录,用map能实现吗
进程结构
进程结构
struct CProcessRecord
{
int m_iProcessId; //进程ID
  char m_strName[32]; //进程名称
  int m_iType; //进程类型
  short m_siHostID; //节点ID
  short m_siRunMode; //运行模式 
  int m_iStartMode; //启动模式(无用)  
  int m_iPID; //PID
  short m_siCurrStatus; //当前状态
  //SDateTime m_dtStartTime; //启动时间
  //SDateTime m_dtLastUpdateTime; //最近更新时间 
  short m_siHeartBeatCounter; //计数器
  float m_fCPUPercent; //CPU%
  float m_fMemUsage; //MEM%

[解决办法]
你的意思是如果是用map来保存上面的结构体信息,并且通过操作这个map对象来添加删除上述信息单元的话,感觉是可以的,而且从可以结构体中取出一个关键字作为一个索引,例如m_iProcessId,这样结构体里也不要这项了!如果用vector的话,就没有索引了!要删除添加比较麻烦

如果你要写入共享内存的话,开辟好共享内存后,先取一个空间记录进程信息个数,然后,就连续的copy一个个结构体就行了。因为你的结构体是定长的,比较简单。至于添加比较简单了,直接往后添加,只要共享内存有空间就好。如果要删除的话,需要实现查找功能(或者还需要移动所有后面的信息保持连续,这就看怎么实现了)。可以做一个实现管理共享内存的类,里面可以有个map,但是map里记录的应该是只是每个进程信息的相对地址了!

热点排行