生存指南
时间:2020-03-06 14:28:09 来源:igfitidea点击:
lsof是用于unix系统的功能强大的命令行实用程序。它列出了打开的文件,并显示有关它们的信息。而且由于大多数内容都是UNIX系统上的文件,因此lsof可以为sysadmins提供大量有用的诊断数据。
使用lsof的最常用和有用的方法有哪些?为此使用了哪些命令行开关?
解决方案
lsof -i将提供一个开放的网络套接字列表。 -n选项将阻止DNS查找,当网络连接缓慢或者不可靠时,此选项很有用。
查看正在运行的应用程序或者守护程序打开了哪些文件:
lsof -p pid
其中pid是应用程序或者守护程序的进程ID。
lsof -i :port
会告诉我们在特定端口上正在侦听哪些程序。
要显示与给定"端口"相关的所有联网:
lsof -iTCP -i :port lsof -i :22
要显示与特定主机的连接,请使用@ host
。
lsof [email protected]
使用@host:port
显示基于主机和端口的连接
lsof [email protected]:22
LISTEN的grep ping显示系统正在等待连接的端口:
lsof -i| grep LISTEN
使用-u显示给定用户已打开的内容:
lsof -u daniel
查看命令与-c一起使用的文件和网络连接
lsof -c syslog-ng
使用-p开关,我们可以查看给定进程ID打开了什么,这对于了解有关未知进程的更多信息很有用:
lsof -p 10075
-t选项只返回一个PID
lsof -t -c Mail
同时使用-t和-c选项,我们可以执行HUP进程
kill -HUP $(lsof -t -c sshd)
我们还可以将-t和-u一起使用来杀死用户打开的所有内容
kill -9 $(lsof -t -u daniel)
lsof +f -- /mountpoint
列出使用在/ mountpoint挂载的挂载上的文件的进程。对于查找正在使用已安装的USB棒或者CD / DVD的进程特别有用。