2
A
回答
2
奇怪的是,fuser
程序及其輸出已被POSIX標準化。你可以使用popen
來調用它並解析它的輸出。除非用戶有特權,否則該列表將不完整,並且這種方法本身容易出現競賽。
在Linux上,您可以讀取/proc/*/fd
目錄的內容並檢查是否引用了相同的文件描述符。 (如果您對同一個文件的引用感興趣描述對象(共享不只是相同的文件,但也是相同的文件偏移量,因爲它們是由dup
/dup2
或fork
創建的) ,您必須使用kcmp
系統調用進一步進行過濾。
相關問題
- 1. 對象的引用計數
- 2. 引用計數對象
- 3. 數據描述符用文字符號(對象創建)
- 4. HOG描述符用於對象檢測
- 5. 對象和引用計數| Java的
- 6. C++:對象的引用計數器
- 7. System Verilog中的對象引用計數
- 8. epoll如何處理引用目錄的文件描述符?
- 9. 排序描述符對NSArray中的nsdate對象不起作用。
- 10. 對象的八度描述
- 11. NSSort描述的NSSet對象
- 12. 用%@描述對象(如UIButton,UIView,NSString,NSDictionary)的NSLog描述
- 13. 製作使用引用計數在d引用計數的對象!(T)
- 14. Java對對象的引用
- 15. 如何刪除xtext索引中的多餘對象描述
- 16. NSArray - 快速查找已知描述的對象索引
- 17. Apple對多線程的引用和值類型的描述
- 18. 寫入Python子進程的文件描述符3 .Popen對象
- 19. Facebook的Open Graph的帖子裏描述的引用不同的對象
- 20. 對象緩存與引用計數器
- 21. 引用或引用對象?
- 22. 對象類型的文字描述
- 23. 對參數對象的返回引用
- 24. 對象引用
- 25. 使用多個描述符對對象進行排序
- 26. 爲什麼對象引用不能引用預期的對象?
- 27. 使用描述符數組比較2個對象
- 28. 作爲字符串的對象引用?
- 29. NodeJs引用帶字符串的對象
- 30. 用黃瓜/ MongoDB描述子對象
AFAIK,沒有一個標準的方法來做到這一點。你無疑可以通過在'/ dev/kmem'中咕嚕找到;儘管不太可能,但可以通過'/ proc'文件系統找到。文件的類型不應該有任何區別。您可能會注意到只有一個進程可以打開給定的文件描述符。然後它可以創建它自己的副本('dup2()'等),或者它可以用它的副本創建新進程('fork()'等)。跨多個進程的單個文件可能有多個打開的文件描述,以及多個進程共享單個打開的文件描述。 –
你問有多少進程正在打開文件? AFAIK文件描述符是該進程獨有的。 –
@ed是的,我的意思是打開文件,管道或其他東西的進程數。 – stuhlo