linux下进程号,Linux下C++获取进程号
如何在Linux下通过C++程序获取ps -ef | grep “****” 的执行结果,并分解其中的进程号,废话少说,直接上代码:
#include
#include
#include
#include
#include
#include
#include
using namespace std;
map pmap;
int prep_map(map &pmap){
FILE *pstr;
char cmd[128],buff[512],*p;
int iPID;
const char *name= "mongod";//要查找的进程名
int pidPosition=1;
int pInfoPosition=7;
memset(cmd,0,sizeof(cmd));
sprintf(cmd, "ps -ef | grep mongod | grep -v \"grep\" | grep fork | awk '{printf $2;printf \"|\";for(i=8;i<=NF;i++)printf\"%s \",$i;printf\"\\n\"}'",name);
pstr=popen(cmd, "r");
if(pstr==NULL)
{
return 1;
}
memset(buff,0,sizeof(buff));
while( 1 )
{
fgets(buff,512,pstr);
if(feof(pstr))
{
break;
}
printf("buffer=%s",buff);
p = strtok(buff, " ");
int iPos=0;
string strPInfo;
while(NULL != p)
{
if(pidPosition == iPos)
{
iPID = atoi(p);
printf("pid=%d \n", iPID);
}
if(iPos >= pInfoPosition)
{
strPInfo += p;
strPInfo += " ";
}
iPos++;
p=strtok(NULL, " ");
string iPID_str = iPID+"";
pmap.insert(map::value_type(iPID_str,strPInfo.c_str()));
}
printf("pInfo = %s \n", strPInfo.c_str());
}
pclose(pstr);
return 1;
}
int main()
{
prep_map(pmap);
map::iterator it;
for(it = pmap.begin();it != pmap.end();it++)
{
cout << "---pid is : " << it->first << endl;
cout << "---cmd is : " << it->second << endl;
}
}
linux下进程号,Linux下C++获取进程号相关推荐
- linux c语言中如何通过进程名获取进程PID(awk命令行指令)popen、pclose
文章目录 不唯一匹配(包含字符的全都匹配上)(而且进程名最多为15个字符?)(前15个字符?) 方法1:嵌到程序里,通过命令行附带要查找的进程名称(交叉编译在arm摄像头里运行) 方法2:通过搜素/p ...
- 谈下这几天sybase数据库获取行号遇到的坑
关于Sybase数据库获取行号的问题 这几天在搞一个sybase数据库的问题(此前连听都没听说过的数据库,是我才疏学浅了),目的是获取到数据库的行号,前辈的源代码是这样的: INSERT INTO [ ...
- c++ 获得linux进程内存大小,C/C++获取进程常驻内存大小(get the process resident set size )...
1.进程内存接口函数 2.接口封装实现#if defined(_WIN32) #include #include #elif defined(__unix__) || defined(__unix) ...
- php 获取移动端设备号,getDeviceId()获取设备号IMEI、MEID、ESN
网络请求的时候需要根据设备号id传参,但是服务端后台收到的有时候为空,服务端的存储就为1个0 .而手机设备号获取与手机本身注册的网相关 本人经测试情况魅蓝note5.1:全网通.2张联通卡.获取结果为 ...
- 获取计算机进程的基址,Python - 如何获取进程的起始/基址?
安装pydbg from pydbg import * from pydbg.defines import * import struct dbg = pydbg() path_exe = " ...
- 【Linux】四、Linux 进程概念(上篇)
目录 前言 一.冯诺依曼体系结构 1.1 冯诺依曼体系结构是什么 1.2 冯诺依曼体系结构为什么这么设计 1.2.1 思考 1.2.2 了解一下计算机的存储分级 1.2.3 解释 1.3 往下要明确几 ...
- [ Linux ] 进程概念,pcb,查看进程,pid,ppid,fork
文章目录 一.进程 1.1 基本概念 1.2 描述进程 - PCB 1.3 查看进程 1.3.1 第一种方式 1.3.2 第二种方式 1.4 通过系统调用获取进程标识符 1.4.1 获取进程的pid ...
- python获取进程编号(目的、获取当前进程编号、根据编号杀死指定进程号、获取当前父进程编号)
1. 获取进程编号的目的 获取进程编号的目的是验证主进程和子进程的关系,可以得知子进程是由那个主进程创建出来的. 获取进程编号的两种操作 获取当前进程编号 获取当前父进程编号 2. 获 ...
- jquery获取动态表格行号_jquery datatables双击,获取行号。
function dbClickDatatables(rows) { $("#@(Perfix)tbData tbody tr").dblclick(function(e){ de ...
- linux rootkit 端口复用,Linux Rootkit系列三:实例详解 Rootkit 必备的基本功能
前言鉴于笔者知识能力上的不足,如有疏忽,欢迎纠正. 测试建议: 不要在物理机测试!不要在物理机测试! 不要在物理机测试! 概要 在 上一篇文章中笔者详细地阐述了基于直接修改系统调用表 (即 sys_c ...
最新文章
- 【响应式Web前端设计】CSS后代选择器和子代选择器
- 【BZOJ1022】小约翰的游戏(博弈论)
- 我理解的--java观察者模式
- 解密初、中、高级程序员的进化之路
- php登录注册demo,PHP实现登录功能DEMO
- 微软拥抱开源,Win10为啥要引入真Linux4.X内核?
- 利用cookie模拟登陆知乎
- 工作88:vue实现当前页面刷新
- 自制简单的小型Linux,自制小型Linux系统
- visio中公式太小_时间序列问题中三种常见的计量模型
- java file.length 单位_Java.io.File.length()返回0
- Redis基本操作练习
- 安装Ubuntu时,提示“没有根文件系统 ”
- Win10使用Dism命令提取(备份)和还原驱动程序
- 神舟IV号开发板-带屏例程源码修改bug(2.8寸屏)
- appStore苹果退款通知
- sequence与sequencer
- 如何添加Google统计在自己的网站
- python-完整的for循环语法
- 自学Python3脚本100例(1-10)
热门文章
- 体验极速Android SDK的更新与下载
- Mongo, Express, Angular, Node-- MEAN Stack搭建
- 你的第一个 iOS 应用程序: 100% 的编程方式
- poj 3253 哈夫曼树 经典 运用了优先队列 总和最少
- js获取url参数方法
- 拓端tecdat|R语言生态学建模:增强回归树(BRT)预测短鳍鳗生存分布和影响因素
- 拓端tecdat|R语言中的多类别问题的绩效衡量:F1-score 和广义AUC
- 【C/C++】C++函数
- Ubuntu16.04下安装、配置Sublime运行环境
- java win7 管理员权限_Win7下超级管理员创建普通权限任务