C++ map更新指定进程CPU、内存和虚拟内存信息
非常抱歉给您带来之前回答的不便。您希望更新 cpu_info_ 中对应进程名的 cpu、mem 和 vsz 字段的值,以下代码示例展示了如何实现:
std::map<std::string, std_msgs::Float64> cpu_info_;
void MONITOR_BASE::module_cpu_info(std::string process_name, float cpu, float mem, float vsz)
{
updateProcessInfoInFile('cpu_info.msg', process_name, cpu, mem, vsz);
if (cpu_info_.find(process_name) != cpu_info_.end())
{
cpu_info_[process_name].data = cpu;
cpu_info_[process_name + '.mem'].data = mem;
cpu_info_[process_name + '.vsz'].data = vsz;
}
}
在这个示例代码中,我们使用 cpu_info_[process_name] 访问对应进程名的 std_msgs::Float64 对象,并通过 .data 修改 cpu 的值。同时,使用 cpu_info_[process_name + '.mem'] 和 cpu_info_[process_name + '.vsz'] 访问对应进程名的 mem 和 vsz 字段,并通过 .data 修改它们的值。
希望这个修正后的代码能够帮助您。如果您还有其他问题,请随时提出。
原文地址: https://www.cveoy.top/t/topic/DRy 著作权归作者所有。请勿转载和采集!