Dwa powody, dla których chciałem to zrobić wcześniej: (1), aby zobaczyć, co „teraz jest” w formacie dmesg-timestamp, i (2), aby wiedzieć, kiedy ostatnio patrzyłem na dmesg.
notlesh
Jestem prawie pewien, że upłynęło nowkilka sekund od rozruchu i myślę, że napisanie do niego wymaga jądra, więc program użytkownika nie może.
Kevin
2
@Kevin, więc wiesz, nie patrząc, ile sekund upłynęło od uruchomienia?
now
kilka sekund od rozruchu i myślę, że napisanie do niego wymaga jądra, więc program użytkownika nie może.Odpowiedzi:
Napisz do
/dev/kmsg
(nie/proc/kmsg
zgodnie z sugestią @ Nils ). Zobacz implementację po stronie jądra i przykład użycia.linux/kernel/printk/printk.c
devkmsg_writev
systemd/src/journal/journald-kmsg.c
server_forward_kmsg
źródło
date | sudo tee /dev/kmsg
dla BSD
(dzięki uprzejmości Ian, lista mailingowa freebsd-pytania )
dla systemu Linux
źródło
Zakładając, że nikt inny nie wymyśli oficjalnego sposobu na zrobienie tego ...
Możesz napisać moduł jądra, który wywołuje
printk
funkcję. Jest tutaj przykład , który może po prostu wykonać pracę za Ciebie.źródło
Jeśli poprawnie zrozumiałem man dmesg , powinieneś być w stanie pisać do / proc / kmsg .
źródło