1

我正在寻找获取 fopen、stream_socket_server、socket_listen 等中使用的文件描述符。我花了几个小时很累才找到这个,但似乎找不到。这样做的原因是我可以将其传递给其他进程来处理工作。

编辑:我正在用 php 制作一个简单的 http 服务器,但预先分叉了 php 进程。这个想法是,如果主进程接受连接并且通过 unix 套接字向不同的进程提供文件描述符,那么它可以完成读取数据甚至进程并响应从主进程中移除瓶颈。目前,主进程必须通过子进程的unix套接字读取发送中的数据,然后写回unix套接字,然后主进程将其发回。

4

1 回答 1

0

文件描述符特定于一个进程,因此您不能只是将它们传递给另一个进程并从那里访问它们。如果你 fork 一个进程,你可以访问两个进程在 fork 之前打开的每个文件,但是你以后打开的任何文件只对分配了描述符的进程有效。因此,即使您设法获得它,它也不会解决您的问题。

于 2019-09-23T14:37:50.163 回答