当前位置: 技术问答>linux和unix
如何让文件描述符共享一个文件表项
来源: 互联网 发布时间:2016-11-21
本文导语: RT 目的是写一个和dup2函数功能一样的函数。 其它方面都好做,但是怎么样才能让新创建的文件描述符和原有的文件描述副共享一个文件表项呢? 求这方面的思路。 | 这个估计这能在内核作了...
RT
目的是写一个和dup2函数功能一样的函数。
其它方面都好做,但是怎么样才能让新创建的文件描述符和原有的文件描述副共享一个文件表项呢?
求这方面的思路。
目的是写一个和dup2函数功能一样的函数。
其它方面都好做,但是怎么样才能让新创建的文件描述符和原有的文件描述副共享一个文件表项呢?
求这方面的思路。
|
这个估计这能在内核作了,可以参考sys_dup的实现:
1.获取传入的源fd和目标fd对应的file结构
fget(fd);
2.如果目标fd不为空,则关闭对应的fd
3.获取当前进程的file_struct,并取得fdtable
files = current->files;
fdt = files_fdtable(files);
4.然后将fdtable对应的目标fd执行源fd对应的file结构
1.获取传入的源fd和目标fd对应的file结构
fget(fd);
2.如果目标fd不为空,则关闭对应的fd
3.获取当前进程的file_struct,并取得fdtable
files = current->files;
fdt = files_fdtable(files);
4.然后将fdtable对应的目标fd执行源fd对应的file结构
|
使用dup去实现它
|
自己来实现?
fcntl(fd, F_DUPFD, 0) 如何?
fcntl(fd, F_DUPFD, 0) 如何?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。