LSOF查看某个端口是由哪个进程开启



我们经常使用netstat -lnp 去查看linux系统监听的端口,但有时候这样看不好用,最后那一列是一个减号,并不显示具体的PID和program name。这时候需要我们使用另一个命令来查看:



lsof -Pnl +M -i4


这个显示的会非常丰富。



lsof `which httpd` //那个进程在使用apache的可执行文件

lsof /etc/passwd //那个进程在占用/etc/passwd

lsof /dev/hda6 //那个进程在占用hda6

lsof /dev/cdrom //那个进程在占用光驱

lsof -c sendmail //查看sendmail进程的文件使用情况

lsof -c courier -u ^zahn //显示出那些文件被以courier打头的进程打开,但是并不属于用户zahn

lsof -p 30297 //显示那些文件被pid为30297的进程打开

lsof -D /tmp 显示所有在/tmp文件夹中打开的instance和文件的进程。但是symbol文件并不在列

lsof -u1000 //查看uid是100的用户的进程的文件使用情况

lsof -utony //查看用户tony的进程的文件使用情况

lsof -u^tony //查看不是用户tony的进程的文件使用情况(^是取反的意思)

lsof -i //显示所有打开的端口

lsof -i:80 //显示所有打开80端口的进程

lsof -i -U //显示所有打开的端口和UNIX domain文件

lsof -i [email protected]www.akadia.com:123 //显示那些进程打开了到www.akadia.com的UDP的123(ntp)端口的链接

lsof -i [email protected]:ftp -r //不断查看目前ftp连接的情况(-r,lsof会永远不断的执行,直到收到中断信号,+r,lsof会一直执行,直到没有档案被显示,缺省是15s刷新)

lsof -i [email protected]:ftp -n //lsof -n 不将IP转换为hostname,缺省是不加上-n参数









lsof命令参数解释

1) -P :这个选项约束着网络文件的端口号到端口名称的转换。约束转换可以使lsof运行得更快一些。在端口名称的查找不能奏效时,这是很有用的。

2) -n : 这个选项约束着网络文件的端口号到主机名称的转换。约束转换可以使lsof的运行更快一些。在主机名称的查找不能奏效时,它非常有用。

3) -l :这个选项约束着用户ID号到登录名的转换。在登录名的查找不正确或很慢时,这个选项就很有用。

4) +M :此选项支持本地TCP和UDP端口映射程序的注册报告。

5) -i4 :仅列示IPv4协议下的端口。

6) -i6 : 仅列示IPv6协议下的端口。



标签: linux

相关文章

评论已关闭