Форматировать имя файла для обработки основных файлов на сеанс

Есть ли способ изменить основной формат имени файла для сеанса, а не для всей машины?
В Linux я могу найти единственный способ использовать sysctl от имени root:

sudo /sbin/sysctl -w "kernel.core_pattern=core-%H-%N-%P"

На солярисе такая же проблема с рутом

coreadm -g core-%n-%f-%p

Но, к сожалению, обе эти команды постоянно меняют систему для всех пользователей, которых я хочу избежать.

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

РЕДАКТИРОВАТЬ:

Только что узнал, что вы можете сделать это в Solaris с

coreadm -p core-%n-%f-%p $$

Кто-нибудь знает про Linux?

1 ответ

Решение

В Linux, насколько я могу судить, шаблон имени файла ядра - это глобальная настройка ядра.

Имя файла ядра определяется format_corename в fs/exec.c, Это вычислено из corename переменная, которая устанавливается только через kernel.core_pattern системный

Но, возможно, желаемое поведение можно получить, установив основной шаблон в |/path/to/foo %h %p, что приводит к передаче содержимого файла ядра в /path/to/foo исполняемый файл. Обратите внимание, что то, что следует за каналом, разбивается на слова в пробелах.

Другие вопросы по тегам