我目前正在测试psutil API。 当我运行此命令(为了知道文件描述符的数量)时:
p = psutil.Process(PID)
p.num_fds()
我得到70个文件描述符。
但是,当我使用相同的PID运行此命令时:
p.open_files()
我只得到27岁。
是什么原因?
答案 0 :(得分:2)
原因是open_files()
仅返回常规文件,但进程可能会打开许多其他类型的fds(套接字,管道等)。像lsof这样的工具会报告所有这些工具。我决定不在psutil中做同样的事情,因为它太复杂,太低级别,并且不能通过使用一致的API来移植。