以下命令生成由 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,因此似乎没有办法只获取文件名(当然文件名可能不止一个)。我想给你更多选项,但你说你不想使用管道或其他命令。