Как получить дамп ядра из службы, запущенной xinetd в Ubuntu Precise
Я хочу отладить службу, которая не работает с SIGPIPE
, Поэтому я установил обработчик сигнала для SIGPIPE
и называется abort()
в нем, чтобы получить дамп ядра.
Но я ничего не понимаю. Я поставил sysctl -w kernel.core_pattern=/tmp/core
чтобы получить core
в tmp
и я поставил с обоими /etc/security/limits.conf
а также ulimit -c unlimited
Итак, как я могу получить core
?
Мои файлы службы xinetd выглядят следующим образом:
service netmaumau
{
socket_type = stream
protocol = tcp
port = 8899
type = UNLISTED
flags = KEEPALIVE
disable = no
wait = yes
user = heiko
instances = 1
cps = 1 10
server = /long/path/to/nmm-server
server_args = -a
log_on_success = PID HOST EXIT
log_on_failure = HOST
}
1 ответ
Решение
Добавление
struct rlimit rl = { RLIM_INFINITY, RLIM_INFINITY };
setrlimit(RLIMIT_CORE, &rl);
решил проблему