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

Форматирование имени файла для основных файлов процесса за сеанс

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

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

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

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

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

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

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

Только что выяснилось, что в solaris это можно сделать с

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

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

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

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

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