Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 代表用户进程在kthread中打开文件_Multithreading_File_Kernel - Fatal编程技术网

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

Multithreading 代表用户进程在kthread中打开文件,multithreading,file,kernel,Multithreading,File,Kernel,我正在编写一个linux内核模块,当用户进程调用它(使用ioctl)时,它将启动一个kthread 如何在用户进程的bahalf上使用此kthread打开文件,也就是说,当它返回时,用户进程可以访问此文件本身 这样做真的不明智。要打开用户空间进程可以读取的文件,需要向该进程返回文件描述符 您可能会返回一个将内核线程连接到用户空间线程的UNIX域套接字对,并让内核线程使用SCM\u RIGHTS消息在该套接字上传递打开的文件描述符 但是,在ioctl()调用中,在原始进程的上下文中打开文件并返回文

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


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

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

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

但是,在
ioctl()
调用中,在原始进程的上下文中打开文件并返回文件描述符可能更合适