每个请求是否动态生成/ proc目录?

时间:2015-10-19 07:27:14

标签: c linux process linux-kernel

所以我应该实现以下行为。

此项目要求您向任务描述符添加新字段。该字段的名称和类型为:int casper;

  • 如果casper = 0:该进程对所有人都可见,即它在/ proc文件系统中列出,可以使用“ps”,“pstree”,“top”,...
  • 查看
  • 如果casper = 1:该进程仅对具有相同用户ID的进程可见,即对于所有其他进程,它不会在/ proc文件系统中列出,并且不能使用“ps”,“ pstree“,”top“,...
  • 如果casper = 2:该进程仅对同一组中的进程可见,即对于所有其他进程,它不会在/ proc文件系统中列出,并且不能使用“ps”,“ pstree“,”top“,...
  • 如果casper = 3:该进程对所有人都是不可见的,即它没有在/ proc文件系统中列出,并且使用“ps”,“pstree”,“top”,...

我已经修改了task_struct定义及其init进程的默认值,并为fork sys调用添加了必要的东西

我做了一些研究,但找不到明显的方法来做到这一点。所以我假设/ proc是按请求创建的,所以我可以得到请求它的进程的task_struct并根据它填充/ proc。我是在正确的轨道上吗?

1 个答案:

答案 0 :(得分:2)

是的,是的。 / proc是内核根据请求生成的vritual文件系统。有关详细信息,请查看以下文章:Linux VFS