0
A
回答
1
首先,請注意,所有僞文件/proc/1234/maps
和/proc/self/maps
始終爲零大小,正如stat(2)系統調用和ls
命令所報告的那樣。然而,它們是順序可讀的(例如,通過cat
命令或通過read(2)系統調用,例如由fgets
調用)。例如,試試cat /proc/self/maps
和ls -ls /proc/self/maps
。
/proc/*/maps
文件的大小爲0的可能原因是計算它們的大小意味着計算它們的內容,並且這可能是昂貴的。所以內核更喜歡說他們的大小爲0。把它們想象成一種管道。你需要依次閱讀它們,它們不是lseek(2) -able。
有關/proc/
的詳細信息,請閱讀proc(5)手冊頁;請注意,它使用的是Unix權限和所有權,因此如果pid 1234的進程不是您的,則無法訪問/proc/1234
目錄。
而且你也可能有一些zombie processes。這些地址空間不再有任何地址空間,所以如果maps
中的maps
僞文件真的是空的(即讀取文件立即生成文件結束條件)或甚至丟失,我不會感到驚訝。
請記住,在/proc
下的文件是僞文件,即內核正在提供它們(並提供它們的數據),並且它們不涉及任何實際的磁盤I/O。尤其是,閱讀它們應該很快。
相關問題
- 1. Cloudera sqoop在導入時將某些列映射爲空值
- 2. 某些加載的FBX文件的紋理映射失敗
- 3. 是否可以禁用webpack中某些文件的源映射?
- 4. 保留哈希映射的某些鍵
- 5. 自動映射只映射某些屬性
- 6. Hadoop映射進程
- 7. 進程間映射與映射/ unordered_map
- 8. 映射鍵,以便將映射僅在某些應用程序有效
- 9. 如何重新映射某些鍵?
- 10. DownloadUrl對於某些文件的文件爲空
- 11. 看空項文件的某些列
- 12. 副本():文件名不能爲空 - 對於某些文件
- 13. knockout使用'觀察'爲某些屬性映射對象數組
- 14. Hadoop:映射二進制文件
- 15. C++改進內存映射obj文件
- 16. python多進程映射文件中的行
- 17. 匿名映射或文件映射?
- 18. 始終將空對象映射爲空
- 19. 內存映射文件的奇怪行爲,一些觀察和一些問題
- 20. 禁用某些文件夾中的某些命令/程序?
- 21. 殺死某些MSTSC進程
- 22. Maven映射文件
- 23. JPA映射文件
- 24. 映射xml文件
- 25. DNS文件映射
- 26. 映射MARC文件
- 27. 的Android MediaStore查詢MediaStore.MediaColumns.TITLE列爲空某些文件
- 28. 內存模塊是否映射到進程的虛擬空間?
- 29. SVN DIFF:爲什麼標記某些文件作爲二進制
- 30. EF4映射可爲空的十進制列爲非空值屬性