2015-10-15 56 views
5

lsof似乎有我重复的条目。了解lsof输出

1:fs:java  19644 4961  abc mem  REG    252,1 126331 118159613 abc.jar 
1:fs:java  19644 4962  abc mem  REG    252,1 126331 118159613 abc.jar 

lsof的格式是:

COMMAND  PID USER FD  TYPE   DEVICE SIZE/OFF  NODE NAME 

19644是PID。 abc是USER。什么是4961和4962?为什么我们有100个这样的。所有这些唯一的区别是第3栏4961,4962等等?

+2

java程序中是否有多线程?它可能是TID(线程ID) –

+0

是的,它似乎是TID。有一个讨论提到在不同版本[这里](https://github.com/draios/sysdig/issues/300)之间改变'lsof'行为, – Jerzy

回答

0

从lsof 4.89手册页:“-K选择进程的任务(线程)的列表,在支持任务(线程)报告为 的方言中。”

Ubuntu 16.04上的lsof版本4.89可以使用-K标志显示TID标头。

$ lsof -K /usr/share/jenkins/jenkins.war 
COMMAND PID TID USER FD  TYPE DEVICE SIZE/OFF NODE NAME 
java 6533 6534 jenkins cwd unknown      /proc/6533/task/6534/cwd (readlink: Permission denied) 
java 6533 6534 jenkins rtd unknown      /proc/6533/task/6534/root (readlink: Permission denied) 
java 6533 6534 jenkins txt unknown      /proc/6533/task/6534/exe (readlink: Permission denied) 
java 6533 6534 jenkins 0u unknown