printk 是核心態列印函式。我們可以通過附加不同的「優先順序」,對資訊分類。
目前共有 8 種優先順序,按優先順序從高到低順序排列如下:
1#define kern_emerg 0 /*緊急事件訊息,系統崩潰之前提示,表示系統不可用*/
2#define kern_alert 1 /*報告訊息,表示必須立即採取措施*/
3#define kern_crit 2 /*臨界條件,通常涉及嚴重的硬體或軟體操作失敗*/
4#define kern_err 3 /*錯誤條件,驅動程式常用kern_err來報告硬體的錯誤*/
5#define kern_warning 4 /*警告條件,對可能出現問題的情況進行警告*/
6#define kern_notice 5 /*正常但又重要的條件,用於提醒*/
7#define kern_info 6 /*提示資訊,如驅動程式啟動時,列印硬體資訊*/
8#define kern_debug 7 /*除錯級別的訊息*/
1 $ cat /proc/sys/kernel/printk24417
控制台日誌級別:優先順序高於該值的訊息將被列印至控制台。
預設的訊息日誌級別:將用該值來列印沒有優先順序的訊息。
最低的控制台日誌級別:控制台日誌級別可能被設定的最小值。
預設的控制台:控制台日誌級別的預設值。
/proc/sys/kernel/printk 的預設值在 linuxsrc/include/linux/printk.h 中定義:
1#define console_loglevel (console_printk[0])
2#define default_message_loglevel (console_printk[1])
3#define minimum_console_loglevel (console_printk[2])
4#define default_console_loglevel (console_printk[3])
console_printk 的定義在 linuxsrc/kernel/printk/printk.c 中:
1int console_printk[4] =;
python優先順序佇列 python 優先順序佇列
簡介 優先順序佇列是基於堆的,關於堆的時候可以參考文章堆,優先順序佇列就是入隊時,會分配乙個優先順序,之後出隊時,根據優先順序出列。如,入隊時 4,a 6,r 3 d 則出隊順序 6,r 4,a 3 d 優先順序佇列的python實現 class priorityqueue object def i...
Linux程序優先順序和調整優先順序
linux 是乙個多使用者 多工的作業系統,系統中通常執行著非常多的程序。但是 cpu 在乙個時鐘週期內只能運算一條指令 現在的 cpu 採用了多執行緒 多核心技術,所以在乙個時鐘週期內可以運算多條指令。但是同時運算的指令數也遠遠小於系統中的程序總數 那問題來了 誰應該先運算,誰應該後運算呢?這就需...
RTOS 優先順序翻轉與優先順序繼承
優先順序反轉,是指在使用訊號量時,可能會出現的這樣一種不合理的現象,即 高優先順序任務被低優先順序任務阻塞,導致高優先順序任務遲遲得不到排程。但其他中等優先順序的任務卻能搶到cpu資源。從現象上來看,好像是中優先順序的任務比高優先順序任務具有更高的優先權。具體來說 當高優先順序任務正等待訊號量 此訊...