有些时候,需要在Log中打出进程或线程的ID,以便调试、查找问题。
获取进程ID
#include <unistd.h>
pid_t getpid(void);
获取线程ID
// 方法1
#include <sys/syscall.h>
syscall(__NR_gettid)
// 方法2
#include <sys/syscall.h>
#define gettid() syscall(__NR_gettid)
// 方法3
#include <sys/syscall.h>
#define gettid() syscall(SYS_gettid)
当只有一个线程的时候,返回的是pid。
本文介绍了在C/C++中如何获取进程ID(pid)和线程ID(tid),提供了三种获取线程ID的方法,包括直接使用syscall函数和宏定义。当线程数为1时,线程ID等于进程ID。
655

被折叠的 条评论
为什么被折叠?



