代表用户进程在kthread中打开文件

时间:2011-04-24 01:07:29

标签: multithreading file kernel

我正在编写一个linux内核模块,当用户进程调用它时会启动kthread(使用ioctl)。

如何在用户进程的bahalf上使用此kthread打开文件,也就是说,当它返回用户进程时,可以自己访问该文件!?

1 个答案:

答案 0 :(得分:0)

这样做真的不明智。要打开用户空间进程可以读取的文件,您需要将文件描述符返回到该进程。

您可能会返回将内核​​线程连接到用户空间线程的UNIX域套接字对,并让内核线程使用SCM_RIGHTS消息在该套接字上传递打开的文件描述符。

然而,在ioctl()调用中在原始进程的上下文中简单地打开文件并在那里返回文件描述符可能更合适。