我可以打开一个套接字并将它传递给Linux中的另一个进程
在Linux中,是否可以打开套接字并将套接字传递给另一个进程? 如果是的话,你能告诉我在哪里可以find一个例子吗?
谢谢。
是的,你可以使用sendmsg()
和SCM_RIGHTS从一个进程到另一个进程:
SCM_RIGHTS
– 从另一个进程发送或接收一组打开的文件描述符。 数据部分包含文件描述符的整数数组。 传递的文件描述符performance得好像是用dup(2)
创build的。
http://linux.die.net/man/7/unix
虽然这不是典型的用法。 更常见的是当一个进程从父节点inheritance套接字(在fork()
)。 任何文件句柄(包括套接字)没有closures将可用于subprocess。 所以subprocessinheritance父进程的套接字。
监听连接的服务器进程称为守护进程。 这通常分叉在每个新的连接,产生一个进程来处理每个新的请求。 典型的守护进程的一个例子是:
http://www.steve.org.uk/Reference/Unix/faq_8.html#SEC88
向下滚动到void process()
。