Я прошел несколько статей после некоторого поиска с помощью Google, но ничто, кажется, не работает.
Я использую Centos 7.
Позвольте мне объяснить, чему сделали меня до сих пор.
Я следовал шаг за шагом
http://www.kibinlabs.com/re-enabling-core-dumps-redhat-7/
После этого я мог генерировать coredump, но только если я запускаю процесс вручную, однако, whenvever я запускаю процесс как
systemctl start <myprocess>
это не генерирует coredump после уничтожения с SEGV
kill -11 <pid>
var/журнал/сообщения показывает, что это получило сигнал SEGV, но я не вижу coredump.
Шаблон ядра ядра также установлен.
cat /proc/sys/kernel/core_pattern
/var/lib/coredumps/core-%e-sig%s-user%u-group%g-pid%p-time%t
coredump.conf
cat /etc/sysctl.d/50-coredump.conf
Storage=both
cat /etc/sysctl.d/99-sysctl.conf
fs.suid_dumpable = 1
kernel.core_uses_pid = 1
Storage=both
[root@server01 coredumps]# ls -l /etc/sysctl.d/50-coredump.conf
lrwxrwxrwx 1 root root 26 Aug 6 13:51 /etc/sysctl.d/50-coredump.conf -> /etc/systemd/coredump.conf
Я полагаю, вы пытаетесь убить демона с установленным битом SUID.
В этом случае вам нужно будет использовать fs.suid_dumpable = 2
Еще одна вещь, чтобы убедиться, что разрешение на весь путь, по которому вы сохраняете дамп ядра, имеет надлежащее разрешение.
В вашем случае это означает, что пользователи должны иметь возможность выполнять на / var
на / var / lib
] и иметь возможность писать в / var / lib / coredumps
.
Пользователи здесь фактически являются пользователями, которые владеют убиваемым процессом, а не пользователем, убивающим процесс.