歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu下查看Printk的輸出

Ubuntu下查看Printk的輸出

日期:2017/2/28 16:14:48   编辑:Linux教程

由於Linux內核的級別控制,導致printk打印的內容不一定都能從控制台正常輸出,可以使用dmesg命令來輸出所有級別的信息。

輸入: sudo dmesg –n 8 可以把所有日志信息輸出來

Linux命令:dmesg 功能說明:顯示開機信息。

語 法:dmesg [-cn][-s <緩沖區大小>]

補充說明:kernel會將開機信息存儲在ring buffer中。您若是開機時來不及查看信息,可利用dmesg來查看。開機信息亦保存在/var/log目錄中,名稱為dmesg的文件裡。

參 數:

-c 顯示信息後,清除ring buffer中的內容。

-s<緩沖區大小> 預設置為8196,剛好等於ring buffer的大小。

-n 設置記錄信息的層級。

printk中的8種日志級別:

#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 */
#define KERN_INFO "<6>" /* informational */
#define KERN_DEBUG "<7>" /* debug-level messages */

但是,上面所使用的辦法還不是最好的辦法, 因為在Ubuntu下,即使改變了日志級別,必須要切換到控制台下才能看到輸出的信息。

最好的辦法是打開另外的一個終端,用一個終端不停地監視並且打印輸出當前系統的日志信息:

1 在終端下輸入:
2 while true
3 do
4 sudo dmesg -c
5 sleep 1
6 done
這樣這個終端就會每1秒查看當前系統的日志並清空
Copyright © Linux教程網 All Rights Reserved