自定义 lsof 输出

自定义 lsof 输出

以下命令生成由 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”

我不想使用管道和其他工具来获取此输出。

答案1

lsof的内部格式选项非常严格,因为它们坚持在每个字段前面加上一个字母来表示该字段的含义。例如,

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

会给

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

手册页说始终选择进程 ID,因此似乎没有办法只获取文件名(当然文件名可能不止一个)。我想给你更多选项,但你说你不想使用管道或其他命令。

相关内容