Linux如何查看端口及进程
方法一
1.通过lsof命令查看PID
1.1、简单而实用的查看
[root@test proc]# lsof -i:8080
1.2、ipv4/ipv6
[root@test proc]# lsof -Pnl +M -i4(i6)
也可以使用:
[root@test proc]# lsof -Pnl +M -i4(i6)|grep 8080
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。
lsof命令参数解释
1) -P :这个选项约束着网络文件的端口号到端口名称的转换。约束转换可以使lsof运行得更快一些。在端口名称的查找不能奏效时,这是很有用的。
2) -n : 这个选项约束着网络文件的端口号到主机名称的转换。约束转换可以使lsof的运行更快一些。在主机名称的查找不能奏效时,它非常有用。
3) -l :这个选项约束着用户ID号到登录名的转换。在登录名的查找不正确或很慢时,这个选项就很有用。
4) +M :此选项支持本地TCP和UDP端口映射程序的注册报告。
5) -i4 :仅列示IPv4协议下的端口。
6) -i6 :仅列示IPv6协议下的端口。
lsof常用的参数列表:
lsof filename 显示打开指定文件的所有进程
lsof -a 表示两个参数都必须满足时才显示结果
lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件
lsof -u username 显示所属user进程打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /DIR/ 显示目录下被进程打开的文件
lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长
lsof -d FD 显示指定文件描述符的进程
lsof -n 不将IP转换为hostname,缺省是不加上-n参数
lsof -i 用以显示符合条件的进程情况
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4地址
service --> /etc/service中的 service name (可以不只一个)
port --> 端口号 (可以不只一个)
方法二
1.使用netstat查看进程PID
[root@test ~]# netstat -anp|grep 8080
2.使用ps查看进程情况
[root@test 12886]# ps -ef|grep 8080