В оболочке ulimit обеспечивает «контроль над ресурсами, доступными для оболочки и запускаемыми ею процессами» (см. man bash
). Следовательно, это относится только к оболочке и ее дочерним элементам. Ограничения для launchd связаны с ним и процессами, которыми он управляет. Два отдельных.
Отдельные программы могут устанавливать свои собственные ограничения на ресурсы, вызывая подпрограммы Standard C Library ulimit()
или getrlimit()
и и setrlimit()
. Определенные ограничения ресурсов не могут быть повышены, если процесс не выполняется от имени суперпользователя.
В качестве практического примера я отлаживаю большие программные проекты, и ограничение по умолчанию для количества открытых файлов в оболочке недостаточно велико. В моем файле .bashrc у меня есть следующее:
# Increase the upper limit on the number of open files:
ulimit -n 1024
Теперь мой отладчик не будет жаловаться, что он не может открыть все нужные ему файлы. Очевидно, что это не должно повлиять на запуск.