问题标签 [lsof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 为什么 lsof 不显示在 Mac OS X 上加载了 libstdc++?
我有一个我知道使用 libstdc++ 的应用程序,但即使作为超级用户,我在 Mac OS X 10.6 Snow Leopard 系统上也看不到 /usr/lib/libstdc++.6.0.9.dylib?
lsof | grep libstdc++
如果我使用 DYLD_LIBRARY_PATH 来使用我自己的 libstdc++ 副本,它会在我的应用程序运行时显示在完整路径中:
这是在谷歌搜索无果之后。在 linux 系统上,任何用户都可以看到哪些应用程序正在使用 /usr/lib 中的库。
linux - 传出 TCP 端口与侦听端口匹配
我遇到了一个奇怪的偶然事件,我的结果
生产
一般我看
箭头两侧的端口不匹配。当 lsof 产生前一个结果时,即使套接字配置为 SO_REUSEADDR,我也无法启动尝试侦听端口 40006 的应用程序。
这会发生吗?应该是?
uname 给出:Linux femputer 2.6.32-24-server #39-Ubuntu SMP Wed Jul 28 06:21:40 UTC 2010 x86_64 GNU/Linux
linux - 从 Crontab 执行时的不同结果
我正在尝试使用 lsof|wc -l 通过 crontab 定期获取打开文件的数量。它总是返回零。当我直接运行它时它给出了正确的结果。关于这种奇怪行为的任何想法?它是否与管道尺寸有关,因为结果可能非常大?非常感谢。
卡卡
python - subprocess.Popen之后如何清理?
我有一个带有 perl 工作子进程的长时间运行的 python 脚本。数据通过其 stdin 和 stdout 传入和传出子进程。必须定期重新启动子进程。
不幸的是,运行一段时间后,文件用完了(“打开的文件太多”)。lsof 显示了许多剩余的开放管道。
在 Popen'd 进程之后清理的正确方法是什么?这就是我现在正在做的事情:
linux - 您如何知道任何用户当前打开了哪些文件?
我正在尝试编写脚本或一段代码来存档文件,但我不想存档当前打开的任何内容。我需要找到一种方法来确定目录中的哪些文件是打开的。我想使用 Perl 或 shell 脚本,但如果需要可以尝试使用其他语言。它将在 Linux 环境中,我没有使用 lsof 的选项。我的定影器结果也不一致。谢谢你的帮助。
我正在尝试将日志文件放在一个目录中并将它们移动到另一个目录。但是,如果文件是打开的,我不想对它们做任何事情。
linux - lsof 没有为内置的 bash 提供 o/p 读取
当我做
在一个终端上,然后在另一个终端上做
我看到执行 lsof 命令列出的 o/p。
但是当我这样做时
在同一个终端上(作为查找)并做(在不同的终端上)
我没有从 lsof 命令得到任何输出
为什么 ?是因为 read 是内置的 bash 吗?这里发生了什么事 ?
java - lsof counterpart for a JVM?
lsof
is a nice tool for Unix, showing all currently open file handles.
Does anyone know a similar tool that would show all open files inside a running JVM (via JVMTI or any similar interface)?
In this particular case, it would be sufficient for me to know which class has a handle open. Method/line or even an entire chain to GC root would be fantastic, but handler owner class is already a good start.
I know I could make a heap dump, open it in a profiler and find this out, but this is a tedious task, especially for the big heaps.
tcp - 套接字未在 lsof 中列出,但在 netstat 中列出
当我执行 "lsof -nl | egrep "TCP|UDP" " 以查看套接字状态时,我注意到我希望列出的套接字根本没有,但是当我执行 "netstat --tcp" 时,它们已列出,但处于 CLOSE_WAIT 状态。
到目前为止,我所知道的是 CLOSE_WAIT 状态表示我的应用程序现在有责任明确关闭此套接字(但我正在尝试追踪一个错误,它使此套接字保持在 CLOSE_WAIT 状态)。我认为如果一个套接字存在,那么它必须有一个与之关联的打开文件描述符,所以我希望在 lsof 的输出中看到它。为什么我在那里看不到它?
谢谢,桑德拉
java - 看太多 lsof 无法识别协议
我有一个 Java 进程/应用程序。当我在该 java 进程上运行 /usr/sbin/lsof -p 时,我看到很多“无法识别协议”。此外,有趣的是,文件描述符 (FD) 正在以非常稳定的速度增长。并且正在创建的那些 FD 的描述为“无法识别协议”。
那么,有什么方法可以检测/分析 java 进程,以便确定谁在创建这么多 FD。对任何工具的任何详细解释都会非常有帮助。
一个快速的谷歌搜索告诉我 strace 是一种方法,但 IIUC 将显示来自 java 进程的 linux 系统调用。我对我的 java 代码的哪一部分表现不佳比生成的系统调用更感兴趣。
同样,任何想法/建议都会很棒!