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)的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统常见调用及其分类

nmon如何查看CPU被哪些线程占用了

linux应用中,在一个进程内如何获取本进程内其它线程的堆栈信息、

log4j.properties中怎样配置才能在输出的日志信息中输出进程号和线程号?

Java如何得到当前进程ID号

linux 进程的创建