Articles of lsof

如何将临时端口映射到一个pid?

我有一个RHEL服务器上有几个应用程序,我试图找出哪一个正在调用外部Web服务。 我有TCP转储显示正在进行的调用,并通过各种工具,我可以确定什么短暂的端口正在进行这些调用。 但是,我无法弄清楚如何将这个临时端口映射到一个pid。 我知道我可以使用lsof -i将绑定的端口映射到pid,但这不是我的问题。 有没有什么办法将正在使用的临时端口映射到一个pid或其他指示器,以指明哪个文件正在进行呼叫?

接近100%的磁盘使用率,df和du显示非常不同的结果,lsof不是答案

问题是我的CentOS 5.8机器告诉我,我几乎没有磁盘空间,当我非常有信心,情况并非如此。 我在这个问题上做了大量的研究,一直没有find解决办法。 'df -h'显示210G使用,8.6G有效 'ncdu'显示28.6G使用(相同的表观大小) 正如您所看到的,这在报告的“使用”空间中几乎是10倍的差异。 知道存储在这个驱动器上的东西,我认为28.6G更接近现实。 看看'lsof'的输出,最后几行(删除)很less。 此外,这些行中的最大尺寸是6190.最后,我重新启动了机器多次,如果我正确理解其他线程,无论如何将解决幻影文件的问题。 以下是ncdu的输出摘要: 22.7GiB [##########] / opt 2.8GiB [#] / usr 1.5GiB [] / var 812.4MiB [] / root 310.6MiB [] / home 194.3MiB [] / lib 156.4MiB [] / etc 36.5MiB [] / sbin 7.3MiB [] / bin 128.0KiB [] / tmp 20.0KiB [] / mnt […]

跟踪在某个文件上打开

我知道如何对特定的程序进行压缩以查看所有读取的文件。 我知道如何查看当前正在使用某个文件的进程。 但有没有办法logging所有文件打开。 我想要的东西像tail -f some/log/file而不是lsof -f /file/someone/might/open/soon ,每打开一个文件lsof -f /file/someone/might/open/soon打印出信息。 谢谢

如何find完整的进程参数和相关的侦听端口?

我可以执行netstat -atulpn | grep java netstat -atulpn | grep java来查找所有的Java进程及其附带的端口,这是非常好的,但是我也想让进程完整的执行参数也显示出来。 我不相信这是netstat到目前为止我所探索过的所有东西都可能的,所以我在想,我将不得不编写一个脚本来处理netstat的输出,然后将这个pid传递给ps ,然后对输出进行优化显示ip +端口和完整的命令行。 有没有更好的方法来做到这一点,或者这是唯一的select?

如何在stream程启动时列出所有被访问的文件?

由于某些权限问题,我有一个启动失败的进程。 我想检查它试图在启动时打开哪些文件,但是使用lsof我只能列出正在运行的进程的已打开文件,但是启动失败后我该怎么办?

如何确定哪个TCP / UDP端口正在打开一个给定的进程(Linux)?

我知道如何使用lsof或netstat来做相反的事情(找出哪个进程打开了某个端口),但是Google的广泛研究并没有帮助我解决相反的问题。 我知道我可以使用“netstat -np”结合一些grep和sed,但它似乎是hacky。 是否有反向版本的“lsof -i tcp:80”会显示给定进程打开的所有本地端口?

如何列出使用find命令打开的文件

我想使用GNU find命令“列出”所有未打开的文件。 现在,我可以列出打开的文件,但无法find一种方法来做相反的处理。 find /my/dir/* -exec lsof {} \; 任何想法如何做到这一点?

为什么rpc.lockd从netstat / lsof输出中被遮蔽了?

序幕: 在多台机器上,这些机器恰好充当NFS客户端, netstat报告两个打开的端口,没有为关联的守护进程列出PID。 通常这可能有点关心。 # netstat -lnp | egrep — '- +$' tcp 0 0 0.0.0.0:57448 0.0.0.0:* LISTEN – udp 0 0 0.0.0.0:48933 0.0.0.0:* – 另外, netcat确认TCP端口确实是打开的。 # nc -v localhost 57448 localhost [127.0.0.1] 57448 (?) open ^C 但是这两个港口没有任何报道。 阴谋增长。 # lsof -i TCP:57448 -i UDP:48933 然而rpcinfo最后指出我们在正确的方向。 它被nlockmgr打开,也被nlockmgr为NFS。 closuressearch。 # rpcinfo -p | egrep '57448|48933' […]

如何报告更多的打开的文件比ulimit应该允许的更多?

如何报告比ulimit所说的限制更多的打开的文件? prod_web3(i-ca0b05aa):~$ sudo lsof | wc -l 4399 prod_web3(i-ca0b05aa):~$ ulimit -n 1024

如何追踪文件描述符泄漏?

我有一个java进程(Glassfish),这是泄漏文件描述符。 我知道这是因为我得到了有用的java.io.IOException: Too many open filesexception。 我可以查看/proc/PID#/fd并查看所有打开的文件描述符。 当我使用lsof时,我得到了很多这样的条目: java 18510 root 8811u sock 0,4 1576079无法识别协议 java 18510 root 8812u sock 0,4 1576111无法识别协议 java 18510 root 8813u sock 0,4 1576150无法识别协议 我看到每分钟创build12个新的。 我可以在lsof上使用哪些选项,或者有什么其他工具可以帮助我追踪无法识别协议的套接字文件描述符?