0

我目前正在测试 psutil API。当我使用以下命令运行此命令(以了解文件描述符的数量)时:

p = psutil.Process(PID)
p.num_fds()

我得到 70 个文件描述符。

但是,当我使用相同的 PID 运行此命令时:

p.open_files()

我只得到27。

什么原因?

4

1 回答 1

2

原因是open_files()只返回常规文件,但进程可能会打开许多​​其他类型的 fd(套接字、管道等)。像 lsof 这样的工具会报告所有这些。我决定不在 psutil 中做同样的事情,因为它太复杂、太低级并且无法通过使用一致的 API 进行移植。

于 2015-03-23T18:48:15.447 回答