traspasar FD entre procesos

rodrigo ahumada rodahummont en yahoo.com.ar
Lun Ago 20 16:57:39 CLT 2007


--- Alvaro Herrera <alvherre en alvh.no-ip.org> escribió:

> rodrigo ahumada escribió:
> > hola
> > 
> > tengo la siguiente consulta:
> > 
> > es posible que un proceso traspase un FD a otro
> > proceso?
> > 
> > es decir, por ejemplo creo un proceso que lance un
> > socket servidor, y que continuamente este
> ejecutando
> > accept, con eso obtiene un socket cliente, y se lo
> > "inyecta" a otro proceso para que trabaje con
> el...
> > 
> > ya se que puede usarse fork, pero la idea es que
> el
> > proceso acepte nuevos FD despues de haber sido
> creado.
> 
> No.  Quizas podrias usar threads para eso pero yo no
> te lo recomendaria.
> 
> Es muy caro el fork?  Nota: eso que describes es lo
> que Postgres hace.

bueno, en linux esta harto optimizado, pero la mejor
forma de atender a 20000 sockets es lanzar N procesos
o hebras (N = numero de cpus), y que estos se encargen
de 20000/N sockets cada uno mediante poll (o epoll)
no?




      ____________________________________________________________________________________
¡Sé un mejor ambientalista!
Encontrá consejos para cuidar el lugar donde vivimos en  http://ar.yahoo.com/promos/mejorambientalista.html 


Más información sobre la lista de distribución Linux