Tengo una pregunta sobre el tamaño de la pila de un proceso en Linux. ¿Este tamaño de pila está determinado en el tiempo de vinculación y está codificado en el archivo ELF?¿Cómo se relaciona el tamaño de la pila del proceso en Linux con pthread, fork y el ejecutivo?
Escribí un programa que imprime su tamaño de pila por pthread_attr_getstacksize(&attr, &stacksize);
. Y si ejecuto este programa directamente desde un shell, da un valor de aproximadamente 10 MB. Pero cuando lo exec
de un hilo que pertenece a un programa de múltiples hilos, da un valor de aproximadamente 2 MB.
Así que quiero saber qué factores afectan el tamaño de la pila de un proceso que es fork and exec
-ed desde algún proceso principal. ¿Y es posible establecer el tamaño de pila de un proceso en su padre en tiempo de ejecución antes de fork and exec
el hijo?
Gracias de antemano.
Además de esto, Linux crece la pila automáticamente cuando es necesario, pero por supuesto está limitado a estos límites, así como a los límites de espacio de direcciones disponible en las áreas de crecimiento. – nos
nos, solo para el hilo principal, ¿no es así? – osgx