使用lsof,我可以找到所有带有 TCP 套接字侦听连接的进程:
lsof -Pni -sTCP:LISTEN
例如:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cupsd 662 root 7u IPv6 11108 0t0 TCP [::1]:631 (LISTEN)
cupsd 662 root 8u IPv4 11109 0t0 TCP 127.0.0.1:631 (LISTEN)
rsyncd 905 root 4u IPv4 13379 0t0 TCP *:873 (LISTEN)
...
Run Code Online (Sandbox Code Playgroud)
有什么方法(不将输出管道传送到另一个程序,例如grep, awk, 或sed)来限制它监听通配符地址的 TCP 套接字?尝试:
$ lsof -Pni @0.0.0.0 -sTCP:LISTEN
lsof: incomplete Internet address specification: -i @0.0.0.0
Run Code Online (Sandbox Code Playgroud)
和
$ lsof -Pni @\* -sTCP:LISTEN
lsof: unknown host name (*) in: -i @*
Run Code Online (Sandbox Code Playgroud)
或者,有没有办法一般地否定传递给的条件lsof?