Wie kann ich von der Kommandozeile aus nach dmesg schreiben?

41

Ich möchte eine Erklärung an dmesg schreiben. [Wie kann ich das machen?

notlesh
quelle
1
Warum willst du das machen?
Nils
21
Ist das wichtig? :)
notlesh
7
Zwei Gründe, warum ich das schon einmal machen wollte: (1) um zu sehen, was "jetzt" im dmesg-timestamp-Format ist, und (2) um zu wissen, wann ich mich das letzte Mal mit dmesg befasst habe.
notlesh
Ich bin mir ziemlich sicher, dass nowSekunden nach dem Booten vergangen sind, und ich denke, dass ein Kernel-Aufruf erforderlich ist, um darauf zu schreiben, sodass ein Userland-Programm dies nicht kann.
Kevin
2
@ Kevin, wissen Sie also, ohne nachzusehen, wie viele Sekunden seit dem Booten vergangen sind?
Notlesh

Antworten:

10

für BSDs

%logger -p kern.crit MESSAGE

(mit freundlicher Genehmigung von Ian, freebsd-questions mailing list )

für Linux

su root -c 'echo MESSAGE > /dev/kmsg'
xitij
quelle
2

Vorausgesetzt, niemand anderes hat einen offiziellen Weg gefunden, dies zu tun ...

Sie können ein Kernelmodul schreiben, das die printkFunktion aufruft . Es gibt hier ein Beispiel , das vielleicht genau das Richtige für Sie ist.

ams
quelle
8
ein. Keine Notwendigkeit, andere haben es bereits geschrieben (zB kecho ). b. Wirklich keine Notwendigkeit für ein zusätzliches Modul, siehe meine Antwort.
ephemient
-1

Wenn ich man dmesg richtig verstanden habe , solltest du in der Lage sein, nach / proc / kmsg zu schreiben .

Nils
quelle
4
# echo "test" >> / proc / kmsg [yield =>] -su: echo: Schreibfehler: Eingabe- / Ausgabefehler
notlesh