linux C语言如何获取进程号和线程号?getpid()syscall(__NR_gettid)

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux C语言如何获取进程号和线程号?getpid()syscall(__NR_gettid)相关的知识,希望对你有一定的参考价值。

有些时候,需要在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。

以上是关于linux C语言如何获取进程号和线程号?getpid()syscall(__NR_gettid)的主要内容,如果未能解决你的问题,请参考以下文章