标签: python lsof
我有一个程序,它在某处泄漏文件描述符,所以我想添加一个监视器线程来检测进程打开fds,如果fd是“PIPE”,我将关闭它。 我可以使用lsof -p或cat / proc / pid / fd来获取进程号,我也可以使用grep来过滤TYPE,但我想知道python中是否有内置函数可以使用获取文件描述符的类型? 像这样的东西:
def getFdType(fd)
答案 0 :(得分:1)
您可以在描述符上使用readlink。
readlink
如果结果不是文件,那么它是一个管道。您还可以进一步运行stat:
stat
在某些Unix系统(例如Linux)上,可能包含以下属性 也可以: st_blocks - 为文件分配的512字节块数 st_blksize - 文件系统块大小以实现高效的文件系统I / O st_rdev - inode设备的设备类型 st_flags - 用户定义的文件标志
在某些Unix系统(例如Linux)上,可能包含以下属性 也可以:
st_blocks - 为文件
st_blocks
st_blksize - 文件系统块大小以实现高效的文件系统I / O
st_blksize
st_rdev - inode设备的设备类型
st_rdev
st_flags - 用户定义的文件标志
st_flags