Вопрос

Допустим, у меня есть 15 процессов / демонов, работающих на заднем плане. Допустим, один из процессов бросил ядро.

Как я могу определить, какой процесс бросил ядро.

Я использую HPUX!

Это было полезно?

Решение

1) Если процессы имеют то же имя, то, я думаю, вы должны запустить их из разных папок. Если процесс сбрасывает ядро, вы получите его в его папке. Я не знаю, как вы их начнете. Если вы используете & Чтобы начать процесс, тогда вы можете использовать $! Чтобы получить PID последнего начала демона процесса и, таким образом, сохранять PID процесса в его папке. Или вы можете взглянуть на журнал своего демона в этой папке и получите PID процесса в этой папке оттуда.

2) Если вы запускаете разные приложения, вы можете использовать file ./core Чтобы узнать имя приложения.

Обновлено:3) только что прочитали об этом:

Запустите первым coreadm -p core.%p.%f.%t.%n или поместите эту команду в свой профиль. И тогда, если приложение Coredumps, вы увидите файл сердечника с именем core.<PID>.<Application-Name>.<Timestamp>.<Server>. Отказ Например: core.29305.main.1278939422:531259.srv2-rx8

Другие советы

Он может написать PID как часть имени файла. Я не знаю, что или как вы начинаете свои 15 процессов, но обычно хранить PID. Дароны обычно создают свой собственный файл PID с чем-то, что идентифицирует экземпляр.

Он должен быть в файле индекса, сгенерированного во время дамп. HPUX 10.26 (действительно старый) сохранил отвалы в:

 /var/adm/crash

Вам будет нужен Q4 или аналогичный инструмент для расследования дамп. Чтобы установить шаблон, как предложил Эпронка, вам понадобится кричать. Отказ Проконсультируйтесь с ручными страницами:

  man coreadm
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top