Как программисту вам должно быть интересно, что делает вызов функции , а не , как это делается . Конечно, такие вещи могут интересовать. Но если конкретная функция вызывает (или может) вызывать системный вызов или нет, это очень сильно зависит от системы.
После небольшого исследования я, возможно, решил проблему. Как только я вхожу в систему UNIX, он перенаправляет меня в каталог home
в соответствии с выбранной оболочкой из доступных в системе из файла \etc\passwd
следующим образом:
alandella:x:1000:100:alandella:/home/alandella:/bin/bash
Это объясняет отсутствие -интерактивной bash
оболочки (консоли ). Оболочка, пусть это будет bash
или tcsh
, запускается, и следующие файлы считываются при входе/выходе:
~/.login -> Executes cmds at login
~/.tcshrc -> same as ~./bashrc in bash and ~./cshrc in csh
~/.logout -> at logout
Итак, добавив следующие строки в файлы ~/.tcshrc
и ~/.bashrc
:
~/.bashrc -> ulimit -Sc X
~/.tcshrc -> limit coredumpsize X
, где X
— это значение (кБ )или unlimited
, и это должно помочь.
Иногда предлагается также отредактировать файл ~/.profile
. Я не редактировал его, даже если МОЯ оболочка bash
получает его при входе в систему. Почему это не имеет значения? Потому что я всегда использую не -оболочку входа в систему, поскольку я дважды -щелкаю консоль, чтобы открыть терминал. Файл ~/.profile
загружается при запуске только в оболочке входа в систему (, обычно sh
, которую я не использую ). У меня есть bash
, который последовательно просматривает следующие файлы:
.bash_profile ->.bash_login ->.profile
в моем случае первые два файла не существуют, поэтому bash
источники .profile
, если я использую оболочку входа.
ПРИМЕЧАНИЕ. Эта операция должна выполняться от имени пользователя root, и для того, чтобы этот трюк работал, должны быть соблюдены следующие условия:
Что файл /etc/security/limits.conf
устанавливает подходящие жесткие/мягкие ограничения для пользователя и root. Если наложено жесткое ограничение на размер дампа ядра в 2000 КБ, то когда мы изменим ~/.bashrc
на 3000 КБ, предел размера дампа ядра по-прежнему будет составлять 2000 КБ. Поискlimits.conf
.
Файлы под /etc/pam.d
содержат строку session required pam_limits.so
, чтобы разрешить выполнение настроек /etc/security/limits.conf
.
Что файл /etc/sysctl.conf
содержит kernel.core_pattern = core.%e.%p
,это устанавливает формат сгенерированных файлов ядра, где %e — имя исполняемого файла, а %p — pid.