我正在寻找 Linux 上最简洁的方法来通过命令行查找指定程序名称正在使用的端口的端口状态。我已经看到 netstat -p 列出了所有 pid,但没有看到任何与特定进程名称相对应的内容。任何帮助都将不胜感激。
答案1
理论上,您应该通过参数 -p 和 PID 看到程序名称。请注意,您需要 root 权限才能显示不在您的用户下运行的进程的程序名称。
-p 无需root权限:
$ netstat -lnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN -
...
...
-p 具有 root 权限
$ sudo netstat -lnp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1553/apache2
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1392/vsftpd
...
...