Ich habe eine Frage über die Stapelgröße eines Prozesses unter Linux. Wird diese Stapelgröße zur Verknüpfungszeit bestimmt und in der ELF-Datei codiert?Wie ist die Stapelgröße des Prozesses auf Linux im Zusammenhang mit Pthread, fork und exec
Ich schrieb ein Programm, das seine Stack-Größe von pthread_attr_getstacksize(&attr, &stacksize);
druckt. Und wenn ich dieses Programm direkt von einer Shell aus starte, ergibt das einen Wert von ca. 10MB. Aber wenn ich exec
es von einem Thread, der zu einem Multi-Thread-Programm gehört, gibt es einen Wert von etwa 2 MB.
Also ich möchte wissen, welche Faktoren die Stapelgröße eines Prozesses beeinflussen, der -ed von einigen Elternprozess ist. Und ist es möglich, die Stapelgröße eines Prozesses in seinem Elternteil zur Laufzeit vor fork and exec
dem Kind zu setzen?
Vielen Dank im Voraus.
Darüber hinaus wächst Linux den Stack automatisch bei Bedarf - aber Sie sind natürlich begrenzt auf diese Grenzen, sowie Grenzen für den verfügbaren Adressraum in den wachsenden Bereichen. – nos
nos, nur für Hauptthread, oder? – osgx