核心通過 printk() 輸出的資訊具有日誌級別,日誌級別是通過在 printk() 輸出的字串前加乙個帶尖括號的整數來控制的,如 printk("<6>hello, world!/n");。核心中共提供了八種不同的日誌級別,在 linux/kernel.h 中有相應的巨集對應。
#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 */
所以 printk() 可以這樣用:printk(kern_info "hello, world!/n");。
未指定日誌級別的 printk() 採用的預設級別是 default_message_loglevel,這個巨集在 kernel/printk.c 中被定義為整數 4,即對應kern_warning。
在 /proc/sys/kernel/printk 會顯示4個數值(可由 echo 修改),分別表示當前控制台日誌級別、未明確指定日誌級別的預設訊息日誌級別、最小(最高)允許設定的控制台日誌級別、引導時預設的日誌級別。當 printk() 中的訊息日誌級別小於當前控制台日誌級別時,printk 的資訊(要有/n符)就會在控制台上顯示。但無論當前控制台日誌級別是何值,通過 /proc/kmsg (阻塞)(或使用dmesg)總能檢視。另外如果配置好並執行了 syslogd 或 klogd,沒有在控制台上顯示的 printk 的資訊也會追加到 /var/log/messages.log 中。
char myname = "chinacodec/n";
printk(kern_info "hello, world %s!/n", myname);
dmesg |tail
js中常見的陣列使用方法,收藏備用
做前端的小夥伴經常要和陣列打交道,比如常見的陣列去重 選擇陣列中的隨機項 獲取陣列中最大 最小值等等。今天我們一起來封裝一些常見的方法,收藏備用!陣列去重 const removeduplicate arr new set arr removeduplicate 1,2,3,4,4,2,3,1,1 ...
pythonpip使用方法 pip使用方法整理
匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...
使用方法 離型劑使用方法
1 使用離型劑前必須確保模具乾淨,無粉塵 蠟垢 樹脂垢 油汙等殘留物質。可以使用專用的模具潔模劑進行清洗,不可用其他液體清洗,以免清洗不乾淨或損壞模具。另外,如果您的模具是新的,在清洗乾淨後,務必要對模具進行初步處理,用離型劑在模具表面噴 刷塗5 6次,之後方可正常投入生產。2 使用離型劑時,首先要...