Как получить дамп ядра из службы, запущенной 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);

решил проблему

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