3

Вы можете использовать dmesg -u, чтобы увидеть журнал из пространства пользователя. В моем случае у меня есть лог от systemd и lvm. Почему это происходит, почему пользовательская программа может печатать в буферное кольцо ядра?

2 ответа2

2

Корневой процесс может записывать в /dev/kmsg . Это используется для ведения журнала, которое происходит очень рано, до того, как обычные системы ведения журнала будут готовы выполнить любое ведение журнала.

0

Некоторые процессы пользовательского пространства могут писать в dmesg, потому что они выполняют действия, которые раньше принадлежали процессам пространства ядра, но которые были перемещены в пользовательское пространство, чтобы упростить управление пользователями.

Классическим примером является udev, который, согласно Википедии:

он обрабатывает ... все действия в пользовательском пространстве при добавлении / удалении устройств, включая загрузку прошивки.

Другой известный пример - FUSE :

Файловая система в пользовательском пространстве (FUSE) - это механизм операционной системы для Unix-подобных компьютерных операционных систем, который позволяет непривилегированным пользователям создавать свои собственные файловые системы без редактирования кода ядра.

Вместе с LVM, init и т.д. Эти инструменты выполняют операции ядра в пространстве пользователя; по этой причине и, возможно, также для обеспечения преемственности с инструментами, которые они заменили (devfs, hotplug, ...), их вывод явно принадлежит кольцевому буферу ядра.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .