1、檢視當前控制台的列印級別
cat /proc/sys/kernel/printk
4 4 1 7
其中第乙個「4」表示核心列印函式printk的列印級別,只有級別比他高的資訊才能在控制台上列印出來,既 0-3級別的資訊
2、修改列印
echo "新的列印級別 4 1 7" >/proc/sys/kernel/printk
了解了上面的這些知識後,我們就應該知道如何手動控制printk列印了。例如,我想遮蔽掉所有的核心printk列印,那麼我只需要把第乙個數值調到最小值1或者0。
# echo 1 4 1 7 > /proc/sys/kernel/printk
或者# echo 0 4 0 7 > /proc/sys/kernel/printk
3、不夠列印級別的資訊會被寫到日誌中可通過dmesg 命令來檢視
4、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 */
在 /proc/sys/kernel/printk 會顯示4個數值(可由 echo 修改),分別表示當前控制台日誌級別、未明確指定日誌級別的預設訊息日誌級別、最小(最高)允許設定的控制台日誌級別、引導時預設的日誌級別。當 printk() 中的訊息日誌級別小於當前控制台日誌級別時,printk 的資訊(要有/n符)就會在控制台上顯示。但無論當前控制台日誌級別是何值,通過 /proc/kmsg (或使用dmesg)總能檢視。另外如果配置好並執行了 syslogd 或 klogd,沒有在控制台上顯示的 printk 的資訊也會追加到 /var/log/messages.log 中。
5、printk函式的使用
printk(列印級別 「要列印的資訊」)
列印級別 既上面定義的幾個巨集
char myname = "chinacodec/n";
printk(kern_info "hello, world %s!/n", myname);
在linux圖形介面下,是無法在命令列下顯示的,嘗試切換到命令列模式下就可以在終端顯示了
切換方法:
不同的linux系統切換方式會稍有一點差別從圖形介面切換到字元介面:alt+f(1-6) 或者 alt+ctrl+shift+f(1-6)
從字元介面切換回圖形介面:alt+f7
字元介面啟動到圖形介面使用:startx 或者 init5
(開機為文字介面,由文字介面切換到圖形介面:方法1:執行命令
#startx , 需要先配置圖形介面資訊,(暫時不會~) ;
方法2:修改/etc/inittab檔案中的
id:3:initdefault , 將3改為5 ,重新啟動系統;
真機環境中,在圖形介面和文字介面間切換:
ctrl+alt+f(n) , 其中f(n)為f1-f6 ,為6個控制台;
ctrl+alt+f7 ;
虛擬機器環境,在圖形介面和文字介面間切換:
vmware虛擬機器下,由圖形介面切換到文字介面,和虛擬機器設定有關,預設vm占用ctrl+alt為熱鍵,所以由圖形介面切換到文字介面的組合鍵為:
ctrl+alt+shift+f(n) ,其中f(n)為f1-f6 ;
由文字介面切換回圖形介面的組合鍵為:
alt+f7 ;
在文字介面不同控制台介面之間切換:
alt+f(n) , 其中f(n)為f1-f6,為6個控制台)
更改printk列印級別
1 檢視當前控制台的列印級別 cat proc sys kernel printk 4 4 1 7 其中第乙個 4 表示核心列印函式printk的列印級別,只有級別比他高的資訊才能在控制台上列印出來,既 0 3級別的資訊 2 修改列印 echo 新的列印級別 4 1 7 proc sys kerne...
更改printk列印級別
1 檢視當前控制台的列印級別 cat proc sys kernel printk 4 4 1 7 其中第乙個 4 表示核心列印函式printk的列印級別,只有級別比他高的資訊才能在控制台上列印出來,既 0 3級別的資訊 2 修改列印 echo 新的列印級別 4 1 7 proc sys kerne...
printk列印級別輸出
核心的列印函式和使用者空間的列印函式是相同的,只是關鍵字不太一樣,核心是printk,而使用者空間則是printf。在核心空間只不過有乙個列印級別的設定,所謂的列印級別不過是幾個巨集定義 printk的列印級別一共有8個級別 數字越 明列印級別越高 define kern emerg 0 syste...