我正在学习操作系统的课程,我们的工作是Linux (Red hat 8.0)。我正在尝试实现一个文件打开和关闭跟踪器,它将为每个进程保存它打开和关闭的文件的历史记录。我期望sys_open,close也接受进程id,并且我可以使用它来访问发起调用的进程的历史记录并更新它(使更新成为sysopen,close函数的一部分)。然而,这些函数不接受pid作为参数,所以我有点迷惑于如何将打开/关闭文件与启动它的进程关联起来。我唯一的猜测是,因为在任何给定时间只有一个活动进程,它的元数据在某种程度上一定是全局的,但我不知道在哪里或如何找到它。任何建议都将不胜感激。
作为初学者,我正在学习编写linux内核模块。我要做的是使用DFS算法将每个任务及其子进程写入内核日志。但是当我使用Makefile编译代码时,它显示了上面的错误:
function declaration isn’t a prototype [-Werror=strict-prototypes]
struct task_struct *current;
它指出函数DFS中的task_struct关键字。这是我的密码:
# include <linux/init.h>
# include <linux/kernel.h>
# include <linux/modu