использование действия ядра по умолчанию для обработки единственного SIGABRT иногда не завершает процесс - PullRequest
0 голосов
/ 14 декабря 2018

В Приложении с несколькими потоками, порождающими SIGABRT (используя повышение (SIGABRT)) в случае сбоя, разработайте обработчик сигнала таким образом, чтобы он выполнял действие по умолчанию для сигнала.однако иногда, когда сигнал SIGBRT повышается, процесс не завершается, следовательно, файл ядра не генерируется.

This is the part of the section of handling SIGABRT 
syslog(LOG_ALERT, "Daemon exiting");
signal(sig, SIG_DFL);
kill(getpid(), sig);

в файле журнала, я получаю трассировки при выходе из Daemon, однако я не вижу сгенерированный файл ядра и запускаю это приложение через systemctl, где у меня происходит перезагрузка при сбое, я не вижуприложение перезапускается, и я замечаю, что следы регистрируются в потоках этого процесса.

Type=forking
WorkingDirectory=/tmp
ExecStart=applcaition name
ExecStop=application name
Restart=on-failure

Из того, что я понял, процесс иногда не прерывается ядром, как это отлаживать и когда это делает ядроэто сумасшедшие вещи?

Спасибо

...