linux - 如何通过 Linux shell 命令关闭文件描述符

标签 linux shell file-descriptor

/proc/pid/fd/中,文件描述符过多。我可以使用 shell 命令关闭这些文件描述符吗?

最佳答案

只要您有权限,您绝对可以关闭其他正在运行的进程的 fd。

首先,找到 PID。

然后,启动 gdb 并附加到进程:

gdb -p 1598

然后,对要关闭的fd调用close系统调用:

(gdb) call close(999)
$1 = 0

如果文件描述符是泄漏的,那么程序将永远不会尝试再次使用它,并且它不应该引起任何问题。但是,该程序很可能存在错误。

关于linux - 如何通过 Linux shell 命令关闭文件描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5987820/

相关文章:

linux - 如何在 ImageMagick 中使用带有标题的标准输入

linux - $'\n' 在 bash 中是什么意思?

linux - 找不到错误 : Module java. base,在 Fedora 上尝试 jlink 时需要

linux - 找不到框架 'Microsoft.AspNetCore.App'和版本 '5.0.0'。当它安装在$ PATH中时

c - Fork 永远不会进入子进程

python - 我的 python 解释器自行以交互模式运行

php - bash脚本中的转义字符

c - 在 epoll 中使用 FILE *

ruby-on-rails - Fork、Ruby、ActiveRecord 和 Fork 上的文件描述符

multithreading - 在线程之间转发/传递文件描述符