Jak zmienić rozmiar stosu za pomocą ulimit lub na proces w systemie Mac OS X dla programu C lub Ruby?

Wydaje się, że zalecanym sposobem ustawiania rozmiaru stosu dla programu C lub programu Ruby (który używa stosu C) jest użycieulimit w powłoce Bash. Ale

$ ulimit -s
8192

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

isudo też nie pomaga. Czy istnieje sposób na ustawienie 16 MB, 32 MB lub 64 MB? Myślałem, że powinien istnieć sposób na ustawienie go na wywołanie programu, a nie na ustawienie całego systemu?

Teraz8192 prawdopodobnie oznacza 8 MB, który jest dość mały, jeśli porówna się go z ilością używanego procesu, czasem nawet 2 GB pamięci RAM.

(zaktualizowana notatka: ulimit -a może pokazać swoje bieżące wartości).

(aktualizacja 2: tak naprawdę wydaje sięulimit -s <value> jest na powłokę i jeśli ustawisz ją po raz pierwszy, zwykle działa. Problem polega na tym, że ustawiasz go po raz drugi, a następnie może zwrócić błąd)

questionAnswers(4)

yourAnswerToTheQuestion