是否可以使用lsof -nP -i4UDP输出完整的命令名?
我一直在手册中寻找一个合适的选项,如-V (见下文),但它不会产生完整的COMMAND名称,即systemd-resolve显示为systemd-r:
$ sudo lsof -V -nP -i4UDP
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
avahi-dae 437 avahi 12u IPv4 12982 0t0 UDP *:5353
avahi-dae 437 avahi 14u IPv4 12984 0t0 UDP *:45006
cups-brow 449 root 7u IPv4 12149 0t0 UDP *:631
systemd-r 485 systemd-resolve 12u IPv4 14694 0t0 UDP 127.0.0.53:53
systemd-r 485 systemd-resolve 13u IPv4 14695 0t0 UDP *:5355
dhclient 629 root 6u IPv4 14985 0t0 UDP *:68
minissdpd 1186 root 4u IPv4 19639 0t0 UDP *:1900 发布于 2020-06-29 18:03:34
来自man lsof:
+c定义与要在命令列中打印的进程相关联的UNIX命令的名称(由UNIX方言提供)的最大初始字符数。(默认情况为9。)请注意,许多UNIX方言没有在lsof获取命令名的文件和结构中向lsof提供所有命令名字符。方言常常限制在这些来源中提供的字符数。例如,Linux2.4.27和Solaris 9都将命令名长度限制为16个字符。如果w为零('0'),则将打印UNIX方言提供给lsof的所有命令字符。如果w小于列标题命令‘’的长度,则它将被提升到该长度。
既然如此,您可以添加+c0以获取所有可用的内容:
$ sudo lsof -V -nP -i4UDP +c0
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-resolve 176 systemd-resolve 11u IPv4 11204 0t0 UDP *:5355https://unix.stackexchange.com/questions/595746
复制相似问题