我有一个运行嵌入式 Linux 的嵌入式设备,我使用串行端口连接到它。我正在使用 cat proc/kmsg 将所需的日志捕获到后台进程中的文件中。我不想在终端中看到这些消息,而只使用日志文件。
我该如何配置 Linux?如果可以配置除关键消息之外的所有消息不出现在终端中,那就更好了。
谢谢,Michal
答案1
你可能想读http://lxr.free-electrons.com/source/Documentation/sysctl/kernel.txt#L480
基本上,您可以将您的配置写入 /proc/sys/kernel/printk。
知道以下级别定义:
#define KERN_EMERG "<0>" /* system is unusable */
#define KERN_ALERT "<1>" /* action must be taken immediately */
#define KERN_CRIT "<2>" /* critical conditions */
#define KERN_ERR "<3>" /* error conditions */
#define KERN_WARNING "<4>" /* warning conditions */
#define KERN_NOTICE "<5>" /* normal but significant condition */
#define KERN_INFO "<6>" /* informational */
#define KERN_DEBUG "<7>" /* debug-level messages */
对于你想做的事情,我建议使用
echo 3 > /proc/sys/kernel/printk
它将仅打印紧急情况、警报和错误信息。