1. 取一个进程的内存,cpu等信息
ps -p 进程ID -o pid,pcpu,vsz,thcount,sz|grep -v CPU
2. 获取CPU的个数:
cat /proc/cpuinfo |grep processor|wc -l
3. 获取某一个进程的句柄
int getPrFdNum(const string& sPid, int& fdNum)
{
fdNum = 0;
if (sPid.empty())
{
ErrorOut("getPrFdNum: failed ,pid is null!");
return -1;
}
string sPath = string("/proc/") + sPid + string("/fd");
ACE_Dirent_Selector sds;
int iStatus = sds.open(sPath.c_str(),NULL, NULL);
if (iStatus <= 0)
{
ErrorOut("getPrFdNum: failed to get %s 's handls!",sPath.c_str());
return -1;
}
if(sds.length() >= 2) // Subtract . and ..
{
fdNum = sds.length()-2;
}
else
{
ErrorOut("getPrFdNum: %s 's handls count is less than 2!", sPath.c_str());
}
sds.close(); // Notice: If sds.close() is missed, memory leak will occur!
return 0;
}
4. 用c++取程序的虚拟内存
long getVMemoryForNX()
{
long vsz = 0;
#ifndef WIN32
pid_t mypid = getpid();
std::stringstream ss;
ss << mypid;
std::string pid = ss.str();
printf("pid=%s\n", pid.c_str());
//long useMemKB = 0;
std::string strcmd;
strcmd += "ps -o vsz -p ";
strcmd += pid;
strcmd += "|/usr/bin/grep -v VSZ";
FILE *pfile = popen(strcmd.c_str(), "r");
if (NULL == pfile)
{
printf("LinuxPrStat::getProcInfo run %s failure!", strcmd.c_str());
}
else
{
while( !feof(pfile) )
{
char strresult[1024] = {0};
fread(strresult, 1, 1024, pfile);
//printf("strsult=%s", strresult);
if (strlen(strresult))
{
vsz = atol(strresult);
}
}
pclose(pfile);
}
#endif
return vsz;
}
分享到:
相关推荐
linux操作系统教程 linux系统操作教程 linux培训资料PPT课件 第12章 用户环境 共13页.ppt
Linux系统操作与编程实验。有很多实验的例子。
linux操作系统教程 linux系统操作教程 linux培训资料PPT课件 第08章用户帐号管理 共24页.ppt
linux操作系统教程 linux系统操作教程 linux培训资料 第14章 操作系统内核与X Window升级 共9页.ppt
UNIX Linux系统操作命令大全 UNIX+Shell+范例精解(第4版) unix命令行快捷键
培训第二天课程! T1_Linux系统操作与管理.ppt 下载时记住别遗漏哦!
比较详细的linux系统操作,很容易上手,对于新手学习,有一定的帮助,觉得还不错,分享给大家,希望和大家一起进步,多多指导。
linux操作系统教程 linux系统操作教程 linux培训资料PPT课件 第07章系统启动和服务 共11页.ppt
Linux系统操作命令详解 主要内容:文章记录系统管理、磁盘管理,文件相关等命令,所有命令有解释,部分命令有实例,语言简练,一看即会 学习收获:通过以上命令练习,能够掌握Linux操作基本使用,熟练掌握之后可以...
linux操作系统教程 linux系统操作教程 linux培训资料PPT课件 第10章 文件系统与权限设置 共9页.ppt
linux操作系统教程 linux系统操作教程 linux培训资料PPT课件 第09章 软件包管理 共16页.ppt
linux操作系统教程 linux系统操作教程 linux培训资料PPT课件 第11章 创建磁盘阵列 共17页.ppt
linux操作系统教程 linux系统操作教程 linux培训资料PPT课件 第05章文本编辑器 共11页.ppt
linux操作系统教程 linux系统操作教程 linux培训资料PPT课件 第06章GRUB启动管理器 共14页.ppt
linux操作系统教程 linux系统操作教程 linux培训资料PPT课件 第15章 基本的网络配置 共8页.ppt
关于linux界面介绍,平台的基本操作介绍,一些基本命令的介绍
这是一个有关Linux系统操作的文档,它教会我们如何在Linux系统下进行文件管理和shell编程
LINUX操作系统1LINUX操作系统1LINUX操作系统1LINUX操作系统1LINUX操作系统1
1、虚拟机VMware安装 2、linux系统安装 3、sql操作
基本操作和指令,以及程序的编译和调试命令