Эхо-значение для консоли Linux - PullRequest
3 голосов
/ 22 ноября 2011

Как в C можно вывести значение из системного вызова на консоль Linux, чтобы оно было видно после dmesg? Какой метод я использую для печати?

Ответы [ 3 ]

8 голосов
/ 22 ноября 2011

Вы ищете функцию printk();некоторая документация о поддерживаемых типах находится в Documentation/printk-formats.txt.Это определено в kernel/printk.c.

2 голосов
/ 22 ноября 2011

Я предполагаю, что вы имеете в виду в пространстве пользователя. Вы можете написать строку в /dev/kmsg. В оболочке просто echo это. В Си тоже было бы очень легко.

[root@cr0 ~]# echo hello > /dev/kmsg
[root@cr0 ~]# dmesg | tail -1
[24156.408735] hello

Но если вы имеете в виду в пространстве ядра, конечно, вам нужно позвонить printk().

1 голос
/ 22 ноября 2011

Кроме того, вас могут заинтересовать (даже если это не совсем отвечает на ваш вопрос) функции openlog & syslog .Из приложения они являются правильным способом ведения системного журнала.

...