社区
Linux/Unix社区
帖子详情
如何获得线程的pid
JohnKeats
2007-04-18 09:59:38
在shell下,用ps -efm查看程序的各个线程,可以看到,每个子线程都分配了一个pid。那么,在程序里,我们怎么能获得这个pid呢?或者,有没有办法在shell下查看线程的线程id?就是pthread_create中的tid?
我想解决的是这么个问题:有个线程cpu占用较大,我想检查下具体是哪个线程占用的cpu。
谁有好的建议?谢谢!
...全文
665
5
打赏
收藏
如何获得线程的pid
在shell下,用ps -efm查看程序的各个线程,可以看到,每个子线程都分配了一个pid。那么,在程序里,我们怎么能获得这个pid呢?或者,有没有办法在shell下查看线程的线程id?就是pthread_create中的tid? 我想解决的是这么个问题:有个线程cpu占用较大,我想检查下具体是哪个线程占用的cpu。 谁有好的建议?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yecheng_110
2007-04-18
打赏
举报
回复
http://bbs.chinaunix.net/viewthread.php?tid=124456
linuxhaha
2007-04-18
打赏
举报
回复
用clone()。返回值就是。
awjx
2007-04-18
打赏
举报
回复
在线程中调用pthread_self()得到线程的ID。
JohnKeats
2007-04-18
打赏
举报
回复
谢谢。不过那里没有真正给出有效的查看方法。
搜索到一个有效的做法是用gdb来查看。
gdb attach 进程id
在gdb里:
info thread
可以看到线程id与LWP id的对应关系。
最后detach,让程序继续。
zhaodm
2007-04-18
打赏
举报
回复
线程id就是pthread_create 函数里的tid
你创建了以后,就得到了
详解Linux获取
线程
的
PID
(TID、LWP)的几种方式
主要介绍了详解Linux获取
线程
的
PID
(TID、LWP)的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
70-Java程序CPU占用1001
Java程序 CPU占用100%问题排查通过top确认问题进程,
获得
pid
。根据
pid
查出问题
线程
,
获得
线程
id,tid。通过jstack把
pid
的信息导出文件
C++中获取当前程序中运行的
线程
pid
值
#include <unistd.h>
pid
_t
pid
= get
pid
(); std::cout << "
PID
:" <<
pid
<< std::endl;
多
线程
中的
pid
由一个进程创建的多个
线程
具有相同的
pid
,也就是在这些
线程
中分别调用 get
pid
(),得到的结果是一样的。 这里的
pid
其实是 task struct(进程描述符结构体)中的 tgid,它是
线程
的 group ID,也是主
线程
(它创建了...
获取当前进程或
线程
PID
方法
而gettid是整个系统内各个
线程
间的标识符,由于linux采用轻量级进程实现的,它其实返回是
pid
号。pthread_t由pthread
线程
库分配和维护,仅能保证同一个进程中是唯一的。但POSIX标准并没有规定pthread_t的具体格式,...
Linux/Unix社区
23,125
社区成员
74,509
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章