2009-07-04 2 views
0

Я хочу различать различные пути выполнения в ядре linux, чтобы я мог отслеживать конкретный поток grepping по его id в dmesg.Отличие между путями управления выполнением

  1. Является task_struct-> PID достаточно, чтобы различать между всеми потоками исполнения (например, потоки ядра выполняют от имени пользовательских процессов, нормальных потоки ядра с процессом контекстами, но не execing от имени пользовательского процесса (как очереди работ) , поток ядра без контекста процесса (например, ISR, soft IRQ и tasklets))?

  2. Если я отслеживаю выходной файл в пространстве пользователя, который часто обновляется, я могу контролировать его, используя что-то вроде «tail -f output.txt». Есть ли способ, который я могу сделать так же для сообщений журнала ядра?

ответ

1
  1. да
  2. с Klogd началась, попробуйте "хвост -f/вар/Журнал/сообщение" темы
+0

ядра без контекста процесса - ISR, мягкий IRQ и т.д. - сделать у них все еще есть связанная с ними структура задач? Я думаю, что я помню, что читал, что в ISR текущее по-прежнему указывает на то, что поток ядра был прерван, но obviosuly он не имеет никакого значения, поскольку теперь вы находитесь внутри ISR (вы можете проверить, используете ли вы ISR, используя что-то вроде am_i_in_isr()) , Но в этом случае current-> pid не укажет на ISR, а на PID прерванного процесса .. не так ли? – Methos

+0

ISR/soft IRQ не имеют никакого контекста. Что ты хочешь делать? –

Смежные вопросы