[pyar] Lidiando con el límite de file descriptors abiertos y subprocess

Andrés Gattinoni andresgattinoni en gmail.com
Mar Ago 23 19:26:23 ART 2011


2011/8/23 Emiliano Dalla Verde Marcozzi <edvm en airtrack.com.ar>
> Tiro otra mas, que es levantar el limite de file descriptors:
> con ulimit -a podemos ver los limites y para levantarlos por proceso,
> en slackware esta por ... /sbin/initscript que configura al proceso init
> cual es el padre de los procesos que launchea, entonces por ej en
> /sbin/initscript puedo tener:
>
> bash-4.1# cat /sbin/initscript
> #
> # initscript    If this script is intalled as /sbin/initscript,
> #        it is executed by init(8) for every program it
> #        wants to spawn like this:
> #
> #        /bin/sh /sbin/initscript <id> <level> <action> <process>
> #
> #        It can be used to set the default umask and ulimit
> #        of all processes. By default this script is installed
> #        as /sbin/initscript.sample, so to enable it you must
> #        rename this script first to /sbin/initscript.
> #
> # Version:    @(#)initscript 1.10 10-Dec-1995 MvS.
> #
> # Author:    Miquel van Smoorenburg, <miquels en cistron.nl>
> #
>
>   # Set umask to safe level, and enable core dumps.
>   umask 022
>   ulimit -c 2097151
>   ulimit -n 10000
>
> y voy a tener un limite de 10000 file descriptors por proceso. En otras
> distros no tengo idea (ej de tipo debian) como se configurara esto.

El tema es que la cantidad de file descriptors sería variable en
función de la cantidad de archivos modificados, por eso buscaba una
solución "desde adentro".
Ahora está andando bien, pero me inquieta un poco que los descriptores
no se cierren después de terminar de leerlos (ni siquiera cuando
explícitamente llamo a close()), porque en la eventualidad de que
hubiera muchos más archivos para chequear que los que estoy usando,
quizás volvería a dar problemas.



More information about the pyar mailing list