繁体   English   中英

如何找到有关文件描述符的更多信息?

[英]How to find more information about the file descriptor?

我正在尝试调试一个挂起的进程,进程 id 的 strace 输出有最后一行:
recvfrom(9, <detached ...><\/code>从这里我了解到该进程正在套接字上等待。

但我不知道这是哪个或什么样的插座。 我怎样才能发现更多关于此的信息? 文件描述符 9 会给我更多信息吗? 我如何使用这个文件发现来了解更多关于它在等待什么?

它是一个python进程,在linux中运行。

由于您使用的是strace<\/code> ,因此我假设您使用的是 Linux 并且您知道进程 ID。 在这种情况下,您可以在\/proc<\/code>中找到很多信息。 这是一个如何做的例子。

执行ls -l \/proc\/<pid>\/fd<\/code> 。 将有一个对应于您感兴趣的 fd 的条目,并且 fd 应该是这样的套接字:

$ ls -l /proc/3311/fd
total 0
lrwx------ 1 alanau alanau 64 Sep 24 20:37 0 -> /dev/pts/0
lrwx------ 1 alanau alanau 64 Sep 24 20:37 1 -> /dev/pts/0
lrwx------ 1 alanau alanau 64 Sep 24 20:37 2 -> /dev/pts/0
lrwx------ 1 alanau alanau 64 Sep 24 20:37 3 -> socket:[23182]

strace<\/code>输出中查看文件描述符何时从open()<\/code> (或者可能是socket()<\/code> )返回时,您将看到调用中使用的其他参数。

"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM