Назад | Перейти на главную страницу

Как изменить именование дампов ядра в unix-подобных операционных системах?

Я хочу изменить именование дампов ядра для отдельного процесса и его дочерних процессов или, если это невозможно, для всех процессов отдельного пользователя.

ПРИМЕЧАНИЕ: я знаю, что можно изменить имя для всех пользователей, перезаписывая /proc/sys/kernel/core_pattern файл.

Как вы знаете, /proc/sys/kernel/core_pattern является системным и специфичным для Linux (не переносимым).

Я не думаю, что есть возможность настраивать имена файлов дампа ядра для каждого процесса или идентификатора пользователя, но вы могли бы достичь желаемого, отправив дампы ядра программе-обработчику, а не напрямую в файл. Сделав что-то вроде этого:

echo "|usr/local/bin/my_core_dump_handler" >/proc/sys/kernel/core_pattern

my_core_dump_handler будет выполняться каждый раз, когда происходит дамп ядра. Он может читать фактический дамп ядра на своем стандартном входе и записывать его в настраиваемое имя файла по своему выбору.

Кстати: Ваш вопрос касается /proc/sys/kernel/core_name_format. Я полагаю, ты имеешь в виду /proc/sys/kernel/core_pattern потому что первого для меня не существует.