由进程名字获取进程 ID
2017-09-01 17:52
316 查看
方法一:
方法二:
pid_t getProcessPidbyName(char *name) { FILE *fptr; char *buf = new char[255]; char cmd[255] = {'\0'}; pid_t pid = -1; sprintf(cmd,"pidof %s",name); if((fptr = popen(cmd,"r")) != NULL) { if(fgets(buf,255,fptr) != NULL) { pid = atoi(buf); printf("pid = %d\n",pid); } } pclose(fptr); delete buf; return pid; } /********************************************************** * 来自:http://blog.csdn.net/bulreed/article/details/6682811 * ***********************************************************/
方法二:
int main() { FILE *fp_handle; DIR *process_dir; struct dirent *ptr; SVPBool process_flag = SVP_FALSE; SVPChar buf[256] = {'\0'}; SVPChar filepath[128] = {'\0'}; SVPChar cur_task_name[128] = {'\0'}; process_dir = opendir("/proc"); if (SVP_NULL != process_dir) { while((ptr = readdir(process_dir)) != SVP_NULL) //循环读取路径下的每一个文件/文件夹 { //如果读取到的是"."或者".."则跳过,读取到的不是文件夹名字也跳过 if(DT_DIR != ptr->d_type) continue; if ((strcmp(ptr->d_name, ".") == 0) || (strcmp(ptr->d_name, "..") == 0)) continue; if(atoi(ptr->d_name) < 1130) continue; sprintf(filepath, "/proc/%s/status", ptr->d_name);//生成要读取的文件的路径 fp_handle = fopen(filepath, "r");//打开文件 if (NULL != fp_handle) { if( fgets(buf, 255, fp_handle)== SVP_NULL ){ //如果文件夹为空就跳过 fclose(fp_handle); continue; } sscanf(buf, "%*s %s", cur_task_name); //如果文件内容满足要求则打印路径的名字(即进程的PID) if (strcmp(SVP_RCHMI_PROCESS_NAME, cur_task_name) == 0) { process_flag = SVP_TRUE; printf("PID: %s\n", ptr->d_name); fclose(fp_handle); break; } } } } closedir(process_dir);//关闭路径 return process_flag; }
相关文章推荐
- 由进程名字获取进程 ID
- 根据进程名字获取id并kill
- Windows Minifilter驱动 - 获取进程ID, 进程名字和线程ID (5)
- 进程1:由进程ID获取进程名字
- 进程1:由进程ID获取进程名字
- 根据进程ID获取经常名字 和 根据进程名字获取进程ID
- 根绝exe名字获取进程ID
- 根据进程ID获取进程名字
- 获取iOS设备上所有的进程名字,以及进程的ID,
- linux根据进程名字获取进程ID
- linux 下获取进程ID 和 进程名
- android 根据图片名字获取图片id
- java 获取进程ID 物理内存 cpu使用百分比(linux环境)
- 由进程名获取进程ID及其主线程ID
- linux下根据进程名字获取PID,类似pidof(转)
- linux -- 进程的查看、进程id的获取、进程的杀死
- shell获取进程ID的方法
- 使用getIdentifier()获取资源Id (根据Id的名字直接定位取到资源)
- C++/MFC如何启动另一个应用程序并获取其进程 ID
- 通过进程ID获取进程名