zoukankan      html  css  js  c++  java
  • Show output of printk()

     dmesg
    
     cat /var/log/messages
    more
    /proc/kmsg 修改proc/sys/kernel/printk

    在kernel 中模組如果要列印出訊息,由於不能連結一般函式庫,只能與核心的函式庫連結。

    因此printf() 就不能使用了,只能使用printk()。

    EX:

    printk(KERN_DEBUG "Here I am: %s:%i\n", __FILE__, __LINE__);
    printk(KERN_CRIT "I'm trashed; giving up on %p\n", ptr);

      38#define KERN_EMERG      "<0>"   /* system is unusable                   */
      39#define KERN_ALERT      "<1>"   /* action must be taken immediately     */
      40#define KERN_CRIT       "<2>"   /* critical conditions                  */
      41#define KERN_ERR        "<3>"   /* error conditions                     */
      42#define KERN_WARNING    "<4>"   /* warning conditions                   */
      43#define KERN_NOTICE     "<5>"   /* normal but significant condition     */
      44#define KERN_INFO       "<6>"   /* informational                        */
      45#define KERN_DEBUG      "<7>"   /* debug-level messages                 */

    它有 8 種可能的記錄字串, 在頭檔 <linux/kernel.h> 裏定義; 我們按照嚴重性遞減的順序列出它們:

    KERN_EMERG

    用於緊急消息, 常常是那些崩潰前的消息.

    KERN_ALERT

    需要立刻動作的情形.

    KERN_CRIT

    嚴重情況, 常常與嚴重的硬體或者軟體失效有關.

    KERN_ERR

    用來報告錯誤情況; 設備驅動常常使用 KERN_ERR 來報告硬體故障.

    KERN_WARNING

    有問題的情況的警告, 這些情況自己不會引起系統的嚴重問題.

    KERN_NOTICE

    正常情況, 但是仍然值得注意. 在這個級別一些安全相關的情況會報告.

    KERN_INFO

    資訊型消息. 在這個級別, 很多驅動在啟動時列印它們發現的硬體的資訊.

    KERN_DEBUG

    用作調試消息.

    每個字串( 在巨集定義擴展裏 )代表一個在角括弧中的整數,整數的範圍從 0 到 7,越小的數表示越大的優先順序。

  • 相关阅读:
    求职简历撰写要点和模板分享
    find命令
    MD5Init-MD5Update-MD5Final
    Linux find命令详解
    Linux进程KILL不掉的原因
    Linux操作系统的内存使用方法详细解析
    Lsof命令详解
    为什么ps中CPU占用率会有超出%100的现象?
    第12课 经典问题解析一
    第11课 新型的类型转换
  • 原文地址:https://www.cnblogs.com/bittorrent/p/2848263.html
Copyright © 2011-2022 走看看