Куда печатает printk()?

Просто быстрый вопрос о функции printk() на уровне ядра, если я назову это, куда будет напечатано сообщение?(Я использую Ubuntu на i386 arch с последней загрузкой ядра)

не могу найти это нигде,

Если бы кто-то также мог указать мне правильное направление для какого-то руководства для функции printk(), это было бы здорово!

5 ответов

Решение

dmesg должен отображать printk Сообщения.

printk сообщения отправляются в буфер сообщений журнала ядра, который может быть представлен различными способами в зависимости от конфигурации системы. Команда оболочки dmesg покажет их, и они также должны быть скопированы в файлы в /var/log посредством syslog демон. Можно зарегистрировать их на последовательной консоли или в виртуальном терминале в текстовом режиме, но я не помню, как это было необдуманным.

Если вы положили некоторые printk() операторы в модуле ядра для отладки и попытки перехватить выходные данные, так как они печатаются, то, что вы ищете klogd, Выполнить man klogd для большего количества задержаний и вариантов.

Вот скрипт-обёртка для klogd что я закодировал некоторое время назад, чтобы облегчить небольшую боль отладки:

#!/bin/bash

function bashtrap()
{
        echo
        echo -n "[+] stopping klogd ... "
        pids=`ps aux | grep klogd | awk '{print $2}'`

        for pid in $pids
        do    
                kill SIGTERM $pid 2> /dev/null

        done
        echo "done"

        if [ $1 ]
        then
                exit;
        fi  
}

sync
bashtrap

klogd -x -f - -n -c 8 2>&1 1 | tee klog.txt & klog_pid=$!;

echo "[+] klogd started"
echo "[+] press ctrl+c to exit ... $klog_pid"

sync
trap "bashtrap 1" SIGINT

while [ 1 ]
do
        sleep 3
        echo -n "."
done

ps aux | grep klogd

printk(9) Страница man содержит очень мало информации. Короче говоря, он отправляется в буфер журнала, где демон syslog может взять его и обработать. Он также отправляется на консоль, если его уровень логирования достаточно высок (см. dmesg(1) за это немного).

Ищу /dev/kmsg в вашей системе.

Другие вопросы по тегам