Форматировать имя файла для обработки основных файлов на сеанс
Есть ли способ изменить основной формат имени файла для сеанса, а не для всей машины?
В 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
исполняемый файл. Обратите внимание, что то, что следует за каналом, разбивается на слова в пробелах.