Two different file descriptors that refer to the same open file description share
a file offset value. Therefore,if the file offset is changed via one file descriptor
(as a consequence of calls to read(),write(),or lseek()),this change is visible
through the other file descriptor. This applIEs both when the two file descrip
tors belong to the same process and when they belong to different processes.
我被迷惑了…请帮助我提高理解力.
解决方法 每个进程都有自己的文件描述符表,每次打开文件()时都会生成一个单独的文件描述.那里有理智!例外情况是文件描述符在进程内(通过dup())或跨进程(通过一个进程fork()使用所有相同的FD复制,或者通过UNIX域套接字传递文件描述符) ).当发生这种情况时,两个描述符最终会彼此共享一些属性,包括偏移量.
这不一定是坏事.例如,这意味着两个写入共享文件描述符的进程最终都不会覆盖彼此的输出.但它有时会产生意想不到的结果.但是,如果不了解它,通常不会出现这种情况.
总结以上是内存溢出为你收集整理的linux – 每个进程或系统范围内的文件对象是本地的吗?全部内容,希望文章能够帮你解决linux – 每个进程或系统范围内的文件对象是本地的吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)