免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: teclimber

linux下怎样查看多线程程序的主线程pid? [复制链接]

论坛徽章:
0
发表于 2011-06-10 18:48 |显示全部楼层
回复 19# crazyhadoop


    绝对是多线程,这个是不用怀疑的

论坛徽章:
0
发表于 2011-06-10 18:50 |显示全部楼层
回复 20# cokeboL


    是2.6.25的内核,我以前没遇到过。但是事实就在我面前。

论坛徽章:
0
发表于 2011-06-11 23:14 |显示全部楼层
本帖最后由 tdy218 于 2011-06-12 10:04 编辑

不知道LZ想要的是不是下面命令输出的效果.
下面拿RedHat Enterprise Linux 5.1(Linux kernel 2.6.18-53.e15,glibc 2.5)做下操作示例.
首先用ps –ef|grep java|grep –v grep命令获取一个java进程的pid,这里得到的javapid是2577,然后进行下面的操作:
[root@tdy218 ~]# ps -Lp 2577  cu
USER   PID   LWP %CPU NLWP %MEM    VSZ   RSS TTY   STAT START   TIME COMMAND
root   2577  2577  0.0   52 24.2 863560 141148 ?    Sl   Oct18   0:09 java
root   2577  2578  0.0   52 24.2 863560 141148 ?    Sl   Oct18   0:00 java
root   2577  2579  0.0   52 24.2 863560 141148 ?    Sl   Oct18   0:00 java
………………………

Java虚拟机就是一个单进程,多线程的软件,看看我写的这篇文章,不知道是不是LZ想要的。
http://www.tdy218.com/?p=48

论坛徽章:
0
发表于 2011-06-12 16:38 |显示全部楼层
回复 23# tdy218


    我的那个好像还和你的情况不太一样,你的pid都是一样的,我的那个pid都是不一样的。

论坛徽章:
0
发表于 2011-06-13 10:48 |显示全部楼层
在`top`里, 打大写的H键试试

论坛徽章:
0
发表于 2011-06-14 10:46 |显示全部楼层
再换块版子试试

论坛徽章:
0
发表于 2011-06-14 15:03 |显示全部楼层
貌似好复杂的样子啊!!!

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-08 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-08-29 06:20:00数据库技术版块每日发帖之星
日期:2015-09-18 06:20:00数据库技术版块每周发帖之星
日期:2015-11-06 19:56:51数据库技术版块每日发帖之星
日期:2016-01-22 06:20:00数据库技术版块每日发帖之星
日期:2016-02-05 06:20:00
发表于 2011-06-14 16:02 |显示全部楼层
ps -efL | grep 进程名

-L 可以看到各个线程

论坛徽章:
0
发表于 2011-12-15 10:42 |显示全部楼层
直接调用getpid()获取的就是主进程的pid

论坛徽章:
0
发表于 2011-12-17 22:36 |显示全部楼层
回复 9# cokeboL


    线程模式有两种:LinuxThreads和NPTL。比较老的Linux版本用的是LinuxThreads机制,现在新的内核版本用的是NPTL;
LinuxThreads机制下线程就被当做一个进程,用getpid()获取线程ID是可以的;
但是在NPTL机制下,一个进程的所有线程只有一个进程PID,获取线程的ID用gettid()获取,可能有的没有该系统函数,可以直接用系统调用代替,具体的系统调用ID可以到内核中查看;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP