内核可以启动写入顺序文件吗?

时间:2016-03-17 16:47:14

标签: c file linux-kernel sequential

我的understanding是顺序文件(由struct seq_file表示)是在内核和用户进程之间传输数据的接口,而不会在磁盘上显示任何文件。当用户读取顺序文件(因为它是可读的)时,相关的内核读取函数将数据传输到缓冲区(接口已分配),然后用户进程从中读取。

我的问题:内核是否可以在没有用户空间启动的情况下调用read函数?

我的目标:我希望用户进程在更改特定顺序文件时等待inotify事件。

如果我的理解错误,请纠正我。感谢。

1 个答案:

答案 0 :(得分:0)

Seq_files主要用于从/ proc用户空间读取的批处理模式。 seq文件接口将/ proc文件的内容视为一系列对象。如果有来自用户的读取请求,例如,读取日志缓冲区,与进程和内存相关的静态/动态信息,内核调用相关的读取请求并放入用户缓冲区,因此需要来自用户空间的请求。

此外,我不确定您的通知目的。一般来说,如果记录的信息用户从/ proc读取是否是最新的,则内核并不在意。不关心,我的意思是它没有任何版本保留它。典型的例子是执行ls。列出目录内容时,事情可能会发生变化。内核继续在该特定时间读取目录的快照,尽管它在读取之后立即更新并且在显示给用户之前。