Как работает Auto Bug Report Tool (ABRT), чтобы ловить ядра во время выполнения? - PullRequest
2 голосов
/ 02 февраля 2011

Мой fedora12 установил инструмент под названием ABRT, который поставляется, вероятно, с GNOME.Этот инструмент работает в фоновом режиме и в режиме реального времени сообщает о любых сбоях процесса.

Я использовал обработчик сигнала, который смог перехватить сигнал SIGSEGV, то есть он мог сообщить о сбое.

Какие существуют другие способы для того, чтобы процесс мог получить информацию о состоянии (особенно ядре) другого процесса, не имея родительско-дочерних связей?

Есть идеи?Это кажется очень интересной проблемой.

Ответы [ 2 ]

1 голос
/ 03 февраля 2011

ABRT, в конце концов, с открытым исходным кодом, так почему бы не взглянуть на их код . Архитектура объясняется здесь - похоже, они отслеживают $COREDUMPDIR, чтобы определить, когда появляется новый файл ядра.

0 голосов
/ 02 февраля 2011

Ваш вопрос не совсем понятен, но можно получить ядро ​​запущенного процесса, используя gcore:

gcore(1)                           GNU Tools                          gcore(1)

NAME
       gcore - Generate a core file for a running process

SYNOPSIS
       gcore [-o filename] pid

DESCRIPTION
       gcore  generates  a  core file for the process specified by its process
       ID, pid. By default, the core file is written to core.pid, in the  cur‐
       rent directory.

       -o filename
              write core file to filename instead of core.pid
...