Junior — Middle
Πώς καθορίζεται το προεπιλεγμένο μέγεθος της στοίβας διαδικασίας στο σύστημα Linux;
sobes.tech AI
Απάντηση από AI
Στο Linux, το προεπιλεγμένο μέγεθος της στοίβας της διαδικασίας μπορεί να ελεγχθεί με την εντολή ulimit -s, η οποία εμφανίζει το μέγεθος της στοίβας σε χιλιόμπιτ. Επίσης, σε ένα πρόγραμμα C/C++ μπορεί να ληφθεί αυτό το μέγεθος μέσω της κλήσης συστήματος getrlimit με την παράμετρο RLIMIT_STACK.
Παράδειγμα σε C:
#include <stdio.h>
#include <sys/resource.h>
int main() {
struct rlimit rl;
if (getrlimit(RLIMIT_STACK, &rl) == 0) {
printf("Μέγεθος στοίβας: %ld bytes\n", rl.rlim_cur);
} else {
perror("getrlimit");
}
return 0;
}
Η τιμή rlim_cur είναι το τρέχον όριο του μεγέθους της στοίβας σε bytes.