Хотя это не будет проблемой для человека, который задал вопрос, потому что он запустил программу, которая должна была создать основной файл в сценарии с помощью команды ulimit, я хотел бы документально подтвердить, что ulimit Команда относится к оболочке, в которой вы ее запускаете (например, переменные окружения). Я потратил слишком много времени на запуск ulimit, sysctl и прочего в одной оболочке, а также на команду, которую хотел сбросить ядро в другой оболочке, и удивился, почему файл ядра не был создан.
Я буду добавлять его в мой bashrc. Sysctl работает для всех процессов после его запуска, но ulimit работает только для оболочки, в которой он выпущен (возможно, также для потомков), но не для других оболочек, которые работают.