Как экранировать имя программы в журналеctl

Моя система вышла из строя, и я пытаюсь определить, что произошло, просматривая журналы. Я хочу отфильтровать журналы различных программ, вызвавших ошибки. Для этого я попробовал:

      my_username@pop-os:~$ journalctl -u pop-os\ kernel
Invalid unit name "pop-os kernel" escaped as "pop-os\x20kernel" (maybe you should use systemd-escape?).
-- No entries --

Как мне найтиpop-os kernelправильно?

1 ответ

The -uОпция указывает имя модуля systemd , а не имя программы. Например,-u namedпокажет все сообщения отnamed.serviceнезависимо от того, каким названием программы они отмечены. Если вы не знаете соответствующую единицу измерения (или если ее нет), используйте-tвместо этого вариант.

Кроме того, когда вы видите такие строки, какDec 28 14:38:06 pop-os kernel:, тогда имя программы простоkernel, нетpop-os kernel– поле, следующее за датой, представляет собой имя хоста системы , а не часть имени программы. Таким образом, правильный поисковый запрос будет-t kernel.

(Но если вы пытаетесь использовать журналctl в качестве замены dmesg, лучше используйте команду-kвозможность получить все сообщения, полученные из буфера ядра.)

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