2015-10-15 83 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