2009-11-02 150 views
1

我正在学习操作系统课程,我们在Linux(Red hat 8.0)中工作。我试图实现一个文件打开,关闭跟踪器,将为每个进程保存它打开和关闭的文件的历史记录。我期望sys_open,close也接受进程id,并且我可以使用它来访问启动调用并更新它的进程的历史记录(使sysopen的更新部分,关闭函数)。但是,这些函数不接受pid作为参数,所以我在关于如何将启动/关闭文件关联到启动它的进程方面有些遗憾。我唯一的猜测是,因为在任何时候只有一个活动进程,它的元数据必须以某种方式是全局的,但我不知道在哪里或如何找到它。任何意见,将不胜感激。如何检查启动了哪个进程sys_open

回答

3

您是否打算在内核空间中执行此操作?鉴于您直接查看位于内核空间IIRC中的sys_open等,您可以使用当前指针查看进程的PID(current->pid)。

+0

我想我误解了他的问题。不知何故,我得到了他想让它脱离内核的想法。 – 2009-11-02 14:34:24

+0

@tinkertim - 或者我误解了......我们拭目以待:) – abyx 2009-11-02 14:35:03

+0

不,你是对的,我希望这是在内核空间。谢谢。 – 2009-11-02 16:34:54

相关问题