2015-10-19 39 views
0

所以我應該達到以下行爲。/proc目錄是根據請求動態生成的嗎?

這個項目會要求您向任務描述符中添加一個新字段。該字段的名稱和類型是:int casper;

  • 如果卡斯帕= 0:這個過程是對所有可見的,即,它在/ proc文件系統中列出,它可以使用「PS」中可以看出,「pstree 「,」top「,...
  • 如果casper = 1:進程只對具有相同用戶標識的進程可見,即對於所有其他進程,它不在/ proc文件系統中列出,它可以不被看到使用「ps」,「pstree」,「top」,...
  • 如果casper = 2:進程只對同一組中的進程可見,即對於所有其他進程,它不是列在/ proc文件系統中,不能使用「ps」,「pstree」查看,「top」,...
  • 如果casper = 3:該進程對所有人都是不可見的,即它不在/ proc文件系統中列出,並且不能使用「ps」,「pstree」,「頂」,...

我已經修改的task_struct定義和init進程它的默認值,並添加必要的東西到餐桌SYS呼叫

我做了一些研究,但無法找到一個明顯的方式做到這一點。所以我認爲/ proc是根據請求創建的,所以我可以獲取請求它的進程的task_struct,並據此填充/ proc。我在正確的軌道上嗎?

+0

是的,您是。 () – fuz

回答

2

是的,是的。/proc是內核根據請求生成的vritual文件系統。請查閱以下文章以瞭解更多詳情:Linux VFS

+0

謝謝。你知道哪個函數實際創建/ proc/條目嗎? – omerfirmak

+0

爲了確保Linux VFS和procfs/sysfs/etc之間有所不同,您應該使用僞文件系統,這是適當的術語。 –