c++语言获取进程id,C\C++下获取系统进程或线程ID(转)

在程序开发时有时需要获取线程和进程ID以分析程序运行

()windows下获取进程或线程ID

通过调用系统提供的GetCurProcessId或GetNowThreadID来获取当前程序代码运行时的进程或线程ID

示例代码:

#include "windows.h"

printf("now pid is %d", GetCurrentProcessId());

printf("now tid is %d", GetCurrentThreadId());

()linux下获取进程或线程ID

通过getpid和gettid获取进程或线程ID

示例代码:

#include "unistd.h"

printf("now pid is %d \n", getpid());

printf("now tid is %d \n", gettid());

()跨平台设计

为了便于跨平台开发,可利用宏定义支持代码跨平台

示例代码

#ifndef __linux__

#include "windows.h"

#else

#include "unistd.h"

#endif

#ifndef __linux__

printf("now pid is %d \n", GetCurrentProcessId());

printf("now tid is %d \n", GetCurrentThreadId());

#else

printf("now pid is %d \n", getpid());

printf("now tid is %d \n", gettid());

#endif

————————————————

版权声明:本文为CSDN博主「wily_1987」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/hanxv_1987/article/details/79509739

qt 获取窗口句柄的线程id和进程id GetWindowThreadProcessId

int lpdwProcessId; int id = GetWindowThreadProcessId((HWND)0x707d6, (LPDWORD)&lpdwProcessId); qD ...

Linux下c开发 之 线程通信(转)

Linux下c开发 之 线程通信(转) 1.Linux“线程” 进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型.Linux是一种“多进程单线程”的操作系统.Linu ...

Linux下c开发 之 线程通信

Linux下c开发 之 线程通信 1.Linux“线程” 进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型.Linux是一种“多进程单线程”的操作系统.Linux本身 ...

线程、线程ID获取

一.进程ID获取 1.1  当前进程的Id 方法1 通过进程名获取 下面的例子中,也包含了获取该进程下的线程的方法. System.Diagnostics.Process[] processes:bo ...

linux获取线程ID

pthread_self()获取当选线程的ID.这个ID与pthread_create的第一个参数返回的相同.但是与ps命令看到的不同,因此只能用于程序内部,用于对线程进行操作. #include & ...

利用进程ID获取主线程ID

利用进程ID获取主线程ID,仅适用于单线程.多线程应区分哪个是主线程,区分方法待验证 (1)好像可以用StartTime最早的,不过通过线程执行时间不一定可靠,要是在最开始就CreateThread了 ...

java 获取当前进程id 线程id

java  获取当前进程id  线程id RuntimeMXBean (Java Platform SE 8 ) https://docs.oracle.com/javase/8/docs/api/j ...

CPU高获取其线程ID然后分析

一.具体步骤 shift+p 按照cpu排序 shift+m按照内存排序 1.查看进程下所有线程 top -H -p  pid  2.将十进制数换成16进制:print "%x/n" ...

Android 开发 知晓各种id信息 获取线程ID、activityID、内核ID

/** * Returns the identifier of this process's user. * 返回此进程的用户的标识符. */ Log.e(TAG, "Process.myU ...

随机推荐

Python多重装饰器

多重装饰器,即多个装饰器修饰同一个对象[实际上并非完全如此,且看下文详解] 1.装饰器无参数: >>> def first(func): print '%s() was post t ...

HDOJ 4336 Card Collector

容斥原理+状压 Card Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

python ftplib.FTP 获取当前路径下所有目录

FTP 模块里有一个dir函数,可以打印出当前路径下所有文件,但是这个函数没有返回值,只是打印出来. 还有一个nlst函数,可以返回一个文件名的列表,但是只有文件名,没有详细信息,无法判断是否是目录. ...

delphi 博客地址收藏

博客地址: Delphi XE5 for Android系列,值得入门者一读http://www.cnblogs.com/ChinaEHR/p/3346867.html http://hi.baidu ...

Map和hash_map

map和hash_map 今天在写拼流的程序时碰到一个问题,要根据流的四元组的结构信息映射到该流的数据.也就是我在网络数据包拼接的过程中,要根据包的地址和端口信息,对应到其对应的一个流的数据上去,把端 ...

svn sc create 命令行创建服务自启动

今天重装了系统,Subversion服务也得重装.照例输入代码: sc create svnserve binpath="d:\PortableApps\svn\svnserve.exe - ...

AI 状态机

by AKara 2010-11-11 @ http://blog.csdn.net/akara @ akarachen(at)gmail.com @weibo.com/akaras 一个简单横版游戏 ...

JQuery源码阅读记录

新建html文件,在浏览器中打开文件,在控制台输入consoole.log(window);新建html文件,引入JQuery后在浏览器中打开,在控制台同样输入consoole.log(window) ...

WlMAP:突破内网端口转发映射工具

使用说明 Wlmap包括服务端程序和客户端程序两部分 服务端程序Wlmaps一般架设到其它用户可以访问到的地方例如internet,它主要用来记录客户端信息以及端口映射信息,并且转发用户和客户端之间数 ...

PyCharm 如何远程连接服务器编写程序

写在前面 我之前一直通过mstsc远程服务器桌面修改代码,或者本地修改后上传到远程服务器等,各种不爽,现在改用xshell,但有时候还是感觉不方便.于是乎,自己动手配置PyCharm远程连接服务器,这 ...

你可能感兴趣的:(c++语言获取进程id)