Lsof

自定義 lsof 輸出

  • June 10, 2013

以下命令生成由 PID 30661 打開的 unix 域套接字

$ sudo lsof -U -a -p 30661
COMMAND   PID    USER   FD   TYPE     DEVICE SIZE/OFF       NODE NAME
haproxy 30661 haproxy    7u  unix 0xc784a000      0t0 3348210055 /var/lib/haproxy/stats.30660.tmp

我想要一個使用 lsof 內部選項的命令將輸出作為“var/lib/haproxy/stats.30660.tmp”

我不想使用管道和其他工具來獲得這個輸出。

lsof的內部格式選項非常嚴格,因為它們堅持在每個欄位前面加上一個指定該欄位含義的字母。例如,

$ sudo lsof -U -a -p 30661 -Fn

會給

p30661
n/var/lib/haproxy/stats.30660.tmp

手冊頁說始終選擇程序 ID,因此似乎沒有辦法只獲取文件名(其中當然可能不止一個)。我想給你更多的選擇,但你說你不想使用管道或其他命令。

引用自:https://serverfault.com/questions/514666