Я пишу сценарий захвата поддержки, который связывает все ядра и журналы в системе, относящиеся к нескольким из моих процессов. В случае, если один из процессов находится в середине ядра сбрасывания, это приведет к тому, что мой захват поддержки будет объединен с наполовину написанным ядром.Как определить, является ли процесс в настоящее время сбросом ядра?
Чтобы предотвратить ошибку пользователя, я хочу иметь возможность определить, является ли процесс сбросом ядра. Самое лучшее, что я придумал, это два взлома:
(a) Задайте размер сердечников в моей основной директории в течение 30 секунд и посмотрите, меняется ли какой-либо из них. Если они есть, ядро сбрасывается.
(б) Объединение pgrep и пс -l, увидеть, если процесс имеет WCHAN состояние pipe_w
Есть ли более элегантный и полное доказательство способ сделать это?
Возможно, есть что-то, что можно было бы рассказать, что скажет нам, что что-то является демпинговым ядром?
Если ваше приложение сбрасывает ядро часто настолько, что ваш скрипт, улавливающий его в действии, является проблемой, я думаю, что у вас есть больше проблем, чем иметь дело с случайным усеченным файлом ядра ... – twalberg