Linux之lsof命令

在Linux系统中,lsof(listopenfiles)是一个极其方便的工具,可以显示系统中所有打开的文件及其信息。
在Linux环境中,无论是常规数据、网络连接还是硬件设备,它们都以文件的形式存在。
例如,TCP和UDP套接字对应于应用程序文件描述符,这些描述符包含有关进程的有价值的信息。
要使用lsof,首先将其安装在Centos或Ubuntu等Linux发行版上。
命令格式为“lsof[参数][文件]”。
lsof具有强大的功能,包括查看进程、端口(TCP和UDP)打开的文件,甚至帮助恢复已删除的文件。
由于它需要访问主内存和关键文件,因此必须以root权限运行。
该命令运行时,可以列出系统上所有活动的文件,包括但不限于:查看所有打开的文件、递归查看目录文件(包括子目录)、按用户或程序过滤文件、搜索按进程号匹配的文件或端口信息。
例如,“-i4”选项可用于查看特定用户的IPv4网络连接,而“-u”选项可用于列出特定用户打开的文件。
lsof还支持根据文件描述符范围、特定字符串(如“sshd”)或文件类型(如txt)过滤文件。
它还可以帮助您了解应用程序如何使用输入、输出和标准错误,因为大多数进程的文件描述符从3开始。
有关更多详细信息,您可以访问原始链接[rumenz.com/rumenbiji/li...]或关注微信公众号“入门站”,获取更多Linux实用技巧。
lsof是每个Linux用户监控系统和排除故障的强大助手。

linux服务器无法释放磁盘空间,帮忙看看

查了资料后,同样是百度来的,需要安装lsof包(yuminstalllsof)。
lsof的全称是listopenedfiles,这是列出系统上打开的文件。
要退出,使用LSOF|GREPDEATER命令:[root@nginx01vhost]#lsof|grepdeletedmysqld1140mysql5ureg253,001569798/tMP/ibhymja(删除)MySQLD1140MYSSQL6UR6URG253,253,253,00159.)mySQLD1140MysQL7UREGG253,001587796/tmp/ibFtQqLe(已删除)mysqld1140mysql8uREG253,001587797/tmp/ibPIDS6k(已删除)mysqld1140mysql12uREG253,001587798/tmp/ibdkDLFr(已删除)/tmp/*删除了五个文件,但是您可以看到该进程没有耗尽磁盘空间。
所以,发布者应该做的是终止一些使用已删除文件的进程。
我认为重新启动服务器就可以了;由于文件被删除,不再占用,所以启动失败。
原贴解决问题后请联系我。
我是新人。