在程序开发时有时需要获取线程和进程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

C\C++下获取系统进程或线程ID(转)的更多相关文章

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

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

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

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

  3. Linux下c开发 之 线程通信

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

  4. 线程、线程ID获取

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

  5. linux获取线程ID

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

  6. 利用进程ID获取主线程ID

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

  7. java 获取当前进程id 线程id

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

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

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

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

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

随机推荐

  1. 前端需要注意哪些SEO

    1.合理的title.description.keywords:搜索对这三项的权重逐个减小,title值强调重点即可,重要关键词不要超过2次,而且要靠前,不同页面title要有所不同:descript ...

  2. 【pycharm】Mac版快捷键

    首先是快捷键的设置,Mac中是在菜单栏的Pycharn/Preference/Keymap中 [快速调试] 1.看函数.方法最初在哪里创建的,这个方法很好用,查看内置函数之类的  按住command, ...

  3. freemarker程序开发

    1.程序开发入门 1.1 创建配置实例 首先,你应该创建一个freemarker.template.Configuration的实例,然后调整它的设置.Configuration实例是存储FreeMa ...

  4. CentOS7 修改网卡名称为eth0 & 在VMWare中添加多网卡配置

    目录 目录 前言 在CentOS 7 中为什么这样命名网卡 在RHEL7中使用RHEL6的网卡命名规则 在VMWare中为CentOS7添加网卡设备 前言 无论是RHEL 7.还是CentOS 7都使 ...

  5. nginx实现域名跳转

    server { listen 80; server_name www.dd.com www.tt.com; index index.html index.htm index.php; root /u ...

  6. 【ABAP系列】SAP ABAP smartforms设备类型CNSAPWIN不支持页格式ZXXX

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP smartfo ...

  7. 【HBase】三、HBase和RDBMS的比较

      HBase作为一种NoSQL的数据库,和传统的类似于mysql这样的关系型数据库是有很大区别的,本文来对他们做一个对比分析,以便更加深入的了解HBase.   主要区别体现在以下六个方面:   1 ...

  8. java正则匹配正则表达式

    1.简单匹配小案例 public static void main( String[] args ){ // 按指定模式在字符串查找 String line = "This order wa ...

  9. 第六周课程总结&实验报告

    一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现: 二.实验的内容 (1)根据下面的要求实现圆类Circle. 1.圆类Circle的成员变量:radius表示圆 ...

  10. laravel框架源码分析(一)自动加载

    一.前言 使用php已有好几年,laravel的使用也是有好长时间,但是一直对于框架源码的理解不深,原因很多,归根到底还是php基础不扎实,所以源码看起来也比较吃力.最近有时间,所以开启第5.6遍的框 ...