Идентификация процесса
Вопрос
Допустим, у меня есть 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