问题标签 [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.

0 投票
1 回答
696 浏览

lsof - glustershd.log 删除的打开文件:我可以在不重新启动 gluster 服务的情况下将文件路径设置为新位置吗

我是 gluster 的新用户。并且它的日志文件在磁盘上占用了太多的大小。我使用“#gluster volume log rotate VolumeName”来旋转日志,但它对文件 glustershd.log 没有影响。我复制了该文件并从 /var/log/glusterfs/ 中删除了原始日志文件,并在该目录中创建了一个同名的新文件(我的运气不好......),而不是我意识到进程仍然写入已删除的打开文件。(对于其他用户,我现在意识到最好的方法是截断日志文件而不是移动和删除)

我可以在打开的文件中看到该文件,但标记为已删除。 24599595 0 l-wx------ 1 root root 64 Dec 30 20:23 /proc/2965/fd/4 -> /var/log/glusterfs/glustershd.log\(已删除)

我的问题是:我可以重定向 gluster 进程以使用 /var/log/glusterfs/glustershd.log 中的文件而不重新启动服务吗?????或者我可以将删除的打开文件移动到其原始位置。

如果我重新启动 gluster 服务会发生什么,我的实时服务器上有实时数据库。

我用分布式复制配置了 gluster。

两台服务器:

1 卷 4 块砖

0 投票
1 回答
398 浏览

python - 给一个文件描述符编号,有什么办法知道它的类型吗?

我有一个程序,它在某处泄漏了文件描述符,所以我想添加一个监视器线程来检测进程打开 fds,如果 fd 是 "PIPE" ,我将关闭它。我可以使用 lsof -p 或 cat /proc/pid/fd 来获取进程号,我也可以使用 grep 来过滤掉 TYPE,但我想知道 python 中是否有可以使用的内置函数获取文件描述符的类型?像这样的东西:

定义 getFdType(fd)

0 投票
1 回答
3200 浏览

listener - 为什么launchd打开了一个端口,什么在监听?

我的路由器显示一个 TCP 端口 (6183) 已被我运行的应用程序打开(我不知道)

使用lsof如回答herelsof -iTCP:6183 -sTCP:LISTEN,我发现launchd是罪魁祸首。

是否有可能找出哪个launchd的“脚本”负责?

0 投票
1 回答
16251 浏览

linux - linux 上用户的打开文件数和 linux 系统范围内的打开文件数是多少?

抱歉,这个问题有几个层次,但都涉及打开文件的数量。

对于我们正在开发的应用程序,我在应用程序日志中收到“打开的文件过多”消息。有人建议我:

  1. 查找当前正在使用的打开文件数、系统范围和每个用户
  2. 找出系统和用户打开文件的限制是多少。

我跑了ulimit -n,它返回了 1024。我还查看了 /etc/limits.conf,该文件中没有任何特别之处。/etc/sysctl.conf 也没有被修改。我将在下面列出文件的内容。我也跑了lsof | wc -l,它返回了 5000+ 行(如果我使用正确的话)。

所以,我的主要问题是:

  1. 如何找到每个用户允许打开的文件数?软限制是在 /etc/limits.conf 中找到/定义的 nofile 设置吗?因为我没有接触 /etc/limits.conf,所以默认是什么?
  2. 如何找到系统范围内允许打开的文件数?这是limits.conf中的硬限制吗?如果未修改limits.conf,默认数字是多少?
  3. ulimit 为打开的文件返回的数字是多少?它说 1024 但是当我运行 lsof 并计算行数时,它超过了 5000+,所以我没有点击。是否还有其他我应该运行的 cmds 或要查看的文件来获得这些限制?在此先感谢您的帮助。

limits.conf 的内容

sysctl.conf 的内容

0 投票
1 回答
5062 浏览

lsof - lsof -i 输出的含义

我已经运行了命令

输出

有人能解释一下localhost:mysql->localhost:46265localhost:46265->localhost:mysql 是什么意思吗?

0 投票
1 回答
5543 浏览

java - “无限”系统下打开文件过多异常

在我的程序执行过程中,我看到太多打开的文件异常。通常,这些以以下形式出现:

然而,这些并不是唯一的例外。我观察到类似的情况(由“打开的文件太多”引起),但频率要低得多

奇怪的是,我将屏幕会话(从我启动程序的位置)的打开文件限制设置为 1M:

此外,正如我看到的输出所观察到的,lsof -p在抛出异常之前,我看不到 1111 个打开的文件(套接字、管道、文件)。

问题:出了什么问题和/或我该如何深入研究这个问题。

额外:我目前正在将Floodlightbft-smart集成。简而言之,Floodlight 进程是在执行由基准程序启动的压力测试时因打开文件异常过多而崩溃的进程。该基准程序将保持 64 个与 Floodlight 进程的 tcp 连接,而 Floodlight 进程又应保持与 bft-smart 副本的至少 64 * 3 个 tcp 连接。这两个程序都使用netty来管理这些连接。

0 投票
1 回答
66 浏览

bash - 如何从文件中提取准确的数据?

我已经使用了这个命令 -lsof +D /usr/bin并生成了以下输出 -

现在我想1474从上面的输出中提取,我正在尝试使用以下命令

但是这个命令正在注入以下信息 -

现在帮助我从上述操作中仅获取特定列。

谢谢和问候, Shah9il

0 投票
0 回答
1340 浏览

arm - lsof - 如何为 ARM 架构交叉编译

Inb4 使用busybox。 我需要HASSECURITY禁用该标志。在busybox中启用了标志,我看不到任何方法可以更改buysbox'es组件的编译标志(但是如果有办法做到这一点 - 我想了解它)

我一直在尝试使用adt 包 (20140321) 中提供的arm-linux-androideabi-gcc-4.8从源代码交叉编译lsof-4.87 。在运行配置脚本之前,我导出环境变量:

但是,在执行配置脚本期间,我仍然收到错误消息:

你知道如何解决这个问题吗?

0 投票
1 回答
1540 浏览

macos - 查找并杀死在端口上运行的进程

我正在尝试kill与 OS X 上的端口 161 (SNMP) 关联的进程。

我试图获取与此端口关联的进程 ID netstatlsof但这些似乎都没有列出 PID:

0 投票
1 回答
243 浏览

linux - lsof 显示什么?

这是我做的输出

lsof -p pid

当我的程序正在运行时。

如果您看到此输出,则文件 .its-traceError.log 有很多引用。但是文件的inode no是一样的。

这意味着什么?是问题还是 fd 泄漏?

或者

这是否意味着我已多次打开此文件?