/proc 目录是根据请求动态生成的吗?
Is /proc directory generated dynamically per request?
所以我应该实现以下行为。
此项目要求您向任务描述符添加一个新字段。字段的名称和类型为:int casper;
- If casper=0 : 该进程对所有人可见,即它列在 /proc 文件系统中,可以使用“ps”、“pstree”看到, “顶部”,...
- 如果 casper=1 :该进程仅对具有相同用户 ID 的进程可见,即对于所有其他进程,它未在 /proc 文件系统中列出,并且无法使用“ps", "ps树", "顶部", ...
- 如果 casper=2 :该进程仅对同一组中的进程可见,即对于所有其他进程,它未在 /proc 文件系统中列出,并且无法使用“ps", "ps树", "顶部", ...
- 如果 casper=3 : 该进程对所有人都是不可见的,即它没有列在 /proc 文件系统中,并且不能使用“ps”、“pstree ”, “顶部”, ...
我已经修改了 task_struct 初始化进程的定义及其默认值,并为 fork 系统调用添加了必要的内容
我做了一些研究,但找不到一个明显的方法来做到这一点。所以我假设 /proc 是根据请求创建的,所以我可以获得请求它的进程的 task_struct 并根据它填充 /proc。我在正确的轨道上吗?
是的,是的。 /proc 是内核根据请求生成的虚拟文件系统。查看以下文章了解更多详情:Linux VFS
所以我应该实现以下行为。
此项目要求您向任务描述符添加一个新字段。字段的名称和类型为:int casper;
- If casper=0 : 该进程对所有人可见,即它列在 /proc 文件系统中,可以使用“ps”、“pstree”看到, “顶部”,...
- 如果 casper=1 :该进程仅对具有相同用户 ID 的进程可见,即对于所有其他进程,它未在 /proc 文件系统中列出,并且无法使用“ps", "ps树", "顶部", ...
- 如果 casper=2 :该进程仅对同一组中的进程可见,即对于所有其他进程,它未在 /proc 文件系统中列出,并且无法使用“ps", "ps树", "顶部", ...
- 如果 casper=3 : 该进程对所有人都是不可见的,即它没有列在 /proc 文件系统中,并且不能使用“ps”、“pstree ”, “顶部”, ...
我已经修改了 task_struct 初始化进程的定义及其默认值,并为 fork 系统调用添加了必要的内容
我做了一些研究,但找不到一个明显的方法来做到这一点。所以我假设 /proc 是根据请求创建的,所以我可以获得请求它的进程的 task_struct 并根据它填充 /proc。我在正确的轨道上吗?
是的,是的。 /proc 是内核根据请求生成的虚拟文件系统。查看以下文章了解更多详情:Linux VFS