久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Linux KERN_ALERT 什么意思

 昵稱15515903 2014-02-12

Linux KERN_ALERT 什么意思

消息打印級別:
fmt----消息級別:

#define KERN_EMERG     "<0>"
#define KERN_ALERT     "<1>"
#define KERN_CRIT      "<2>"
#define KERN_ERR       "<3>"
#define KERN_WARNING   "<4>"
#define KERN_NOTICE    "<5>"
#define KERN_INFO      "<6>"
#define KERN_DEBUG     "<7>"

 

不同級別使用不同字符串表示,,數(shù)字越小,級別越高,。

printk輸出跟輸出的日志級別有關(guān)系,當輸出日志級別比控制臺的級別高時,就會顯示在控制臺上,當比控制臺低時,則會記錄在/var/log/message中.但是當系統(tǒng)同時運行了klogd和syslogd時,都追加到/var/log/message.在/proc/sys/kernel/printk文件中,前兩個整數(shù)為當前的日志級別和默認的日志級別(默認的日志級別即為printk的輸出級別). 

注意:
需要開啟klogd和syslogd服務(wù)才能正常輸出,。通過klogd可以改變系統(tǒng)消息輸出級別。

 linux0.11為什么在內(nèi)核態(tài)使用printk()函數(shù),,而在用戶態(tài)使用printf()函數(shù),?
(1)    答:printk()函數(shù)是直接使用了向終端寫函數(shù)tty_write()。而printf()函數(shù)是調(diào)用write()系統(tǒng)調(diào)用函數(shù)向標準輸出設(shè)備寫,。所以在用戶態(tài)(如進程0)不能夠直接使用printk()函數(shù),,而在內(nèi)核態(tài)由于他已是特權(quán)級,所以無需系統(tǒng)調(diào)用來改變特權(quán)級,,因而能夠直接使用printk()函數(shù),。

 

printk是內(nèi)核輸出,在終端是看不見的,。  
  你可以看一下系統(tǒng)日志,。/var/log/message。  
  或者使用dmesg命令看一下

不管你可能怎么想,,printk()并不是設(shè)計用來同用戶交互的,,雖然我們在 hello-1就是出于這樣的目的使用它!它實際上是為內(nèi)核提供日志功能,, 記錄內(nèi)核信息或用來給出警告,。因此,每個printk() 聲明都會帶一個優(yōu)先級,,就像你看到的<1>KERN_ALERT 那樣,。內(nèi)核總共定義了八個優(yōu)先級的宏, 所以你不必使用晦澀的數(shù)字代碼,,并且你可以從文件linux/kernel.h查看這些宏和它們的意義,。如果你 不指明優(yōu)先級,默認的優(yōu)先級DEFAULT_MESSAGE_LOGLEVEL將被采用,。

閱讀一下這些優(yōu)先級的宏,。頭文件同時也描述了每個優(yōu)先級的意義,。在實際中, 使用宏而不要使用數(shù)字,,就像<4>,。總是使用宏,,就像 KERN_WARNING,。

當優(yōu)先級低于int console_loglevel,信息將直接打印在你的終端上,。如果同時 syslogd和klogd都在運行,,信息也同時添加在文件 /var/log/messages,而不管是否顯示在控制臺上與否,。我們使用像 KERN_ALERT這樣的高優(yōu)先級,,來確保printk()將信息輸出到 控制臺而不是只是添加到日志文件中。 當你編寫真正的實用的模塊時,,你應(yīng)該針對可能遇到的情況使用合 適的優(yōu)先級,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多