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

linux下C语言进程有关问题

2012-02-28 
linux下C语言进程问题请问linux环境下C语言有没有根据进程名得到进程ID的函数?或者实现此功能的函数代码也

linux下C语言进程问题
请问linux环境下C语言有没有根据进程名得到进程ID的函数?或者实现此功能的函数代码也可以。
        我就那么一点点分,不好意思:)

[解决办法]
用 ftw 或者 opendir / dir.h 的函数遍历 /proc 目录.
[解决办法]
FILE *stream;
char command[128],buff[512],*p;
pid_t splaypid;
int pidnum;
char *name= "adf "
memset(command,0,sizeof(command));
sprintf(command, "ps |grep %s ",name);
stream=popen(command, "r ");
if(stream==NULL)return;
memset(buff,0,sizeof(buff));
fgets(buff,512,stream);
p=strtok(buff, " ");
pclose(stream);
if(p==NULL)return ;
//printf( "pid %s\n ",p);
if(strlen(p)==0)
return;
if((pidnum=atoi(p))==0)
return;
[解决办法]
遍历/proc文件夹,读取exe链接
[解决办法]
省事点的话,调用shell命令就可以了
ps -ef | grep portmap | grep -v grep | awk '{print $2} '

热点排行