2015-10-19 65 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之间有所不同,您应该使用伪文件系统,这是适当的术语。 –