当前位置: 技术问答>linux和unix
不同进程间描述符的传递?谁能帮忙解释下呢?
来源: 互联网 发布时间:2017-04-08
本文导语: 文件描述符,不就是一个整形吗? 传个整形过去,跟传描述符本质上有什么区别没有阿? 哪位大侠能够解释下呢? 一般传递描述符这种情况,是在什么需求的情况下才传的?这个技术是为了满足哪方面的需求呢? ...
文件描述符,不就是一个整形吗?
传个整形过去,跟传描述符本质上有什么区别没有阿?
哪位大侠能够解释下呢?
一般传递描述符这种情况,是在什么需求的情况下才传的?这个技术是为了满足哪方面的需求呢?
传个整形过去,跟传描述符本质上有什么区别没有阿?
哪位大侠能够解释下呢?
一般传递描述符这种情况,是在什么需求的情况下才传的?这个技术是为了满足哪方面的需求呢?
|
你简单的传递一个整数过去,对对方而言是没有实际意义的
必须使用专用的接口函数传递一个文件描述符,这样对接收方来说,相当于打开了一个新的描述符,这个描述符引用的对象鱼发送方的相同
一个典型场景:socket服务器,由一组进程组成
父进程只负责接收客户端连接,连接建立之后把描述符传递给空闲的子进程,子进程再根据接收到的描述符与客户端具体通信
必须使用专用的接口函数传递一个文件描述符,这样对接收方来说,相当于打开了一个新的描述符,这个描述符引用的对象鱼发送方的相同
一个典型场景:socket服务器,由一组进程组成
父进程只负责接收客户端连接,连接建立之后把描述符传递给空闲的子进程,子进程再根据接收到的描述符与客户端具体通信
|
文件描述符,不就是一个整形吗?
形式上是一个非负整数,实际表示是一个索引值,指向内核维护的某个进程打开文件的记录表;
对内核而言,所有打开的文件都通过文件描述符进行引用,当打开一个文件或创建一个新文件时,内核向进程返回一个文件描述符;
传个整形过去,跟传描述符本质上有什么区别没有阿?
本质上没区别,一是可读性不强,二是不一定正确;
一般传递描述符这种情况,是在什么需求的情况下才传的?这个技术是为了满足哪方面的需求呢?
当读或写一个文件时,使用open等函数返回的文件描述符标识该文件,将其作为参数传递给read或write等函数进行读或写操作;
形式上是一个非负整数,实际表示是一个索引值,指向内核维护的某个进程打开文件的记录表;
对内核而言,所有打开的文件都通过文件描述符进行引用,当打开一个文件或创建一个新文件时,内核向进程返回一个文件描述符;
传个整形过去,跟传描述符本质上有什么区别没有阿?
本质上没区别,一是可读性不强,二是不一定正确;
一般传递描述符这种情况,是在什么需求的情况下才传的?这个技术是为了满足哪方面的需求呢?
当读或写一个文件时,使用open等函数返回的文件描述符标识该文件,将其作为参数传递给read或write等函数进行读或写操作;
|
你看到的文件描述符,是一个整形,但内核维护了对应的数据结构信息什么的,没那么简单,且从一个进程传递到另一个进程后,文件描述符数字可能发生了必要的变化。
进程间传递描述符一 - sparkliang的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/sparkliang/article/details/5486069
进程间传递描述符一 - sparkliang的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/sparkliang/article/details/5486069
|
++ 套接字 没有你看到的表面那么简单就是一个整数的,内部实现是很复杂的