2014-01-08 56 views
0

我有一個程序和某處泄漏文件描述符,所以我想添加一個監視線程來檢測進程打開fds,如果fd是「PIPE」,我將關閉它。 我可以使用lsof -p或cat/proc/pid/fd來獲取進程號,我也可以使用grep來過濾TYPE,但是我想知道是否有Python中內置的函數可以用於獲取文件描述符的類型? 是這樣的:給出一個文件描述符號,有沒有什麼方法可以知道它的類型?

高清getFdType(FD)

回答

1

你可以在描述符使用readlink

如果結果不是文件,那麼它是一個管道。你還可以進一步運行stat

在一些Unix系統(如Linux),下面的屬性可能 也可用:

st_blocks - 分配文件

512字節的塊數

st_blksize - 文件系統塊大小爲有效的文件系統I/O

st_rdev - 如果設備類型信息節點設備

st_flags - 文件的用戶定義標誌

相關問題