Como alterar o tamanho da pilha usando ulimit ou por processo no Mac OS X para um programa C ou Ruby?

Parece que a maneira recomendada de definir o tamanho da pilha para um programa C ou programa Ruby (que usa a pilha C) é usandoulimit no shell Bash. Mas

$ ulimit -s
8192

$ ulimit -s 16384
-bash: ulimit: stack size: cannot modify limit: Operation not permitted

esudo não ajuda também. Existe uma maneira de configurá-lo para 16MB, 32MB ou 64MB? Eu pensei que deveria haver uma maneira de configurá-lo por chamada de programa, em vez de definir um parâmetro de largura do sistema também?

Agora mesmo8192 provavelmente significa 8MB, o que é muito pequeno, se comparado ao quanto um processo pode estar usando, às vezes até 2GB de RAM.

(nota atualizada: ulimit -a pode mostrar seus valores atuais).

(atualização 2: parece mesmoulimit -s <value> é por shell, e se você configurá-lo pela primeira vez, normalmente funciona. O problema é quando você define a segunda vez, então ele pode retornar um erro)

questionAnswers(4)

yourAnswerToTheQuestion