マニュアルページによると、メッセージのログレベルの優先度がデフォルト設定のログレベルよりも高い場合、端末に出力されると書かれています。しかし、私が次のような文を使用したとき
printk(KERN_ALERT " MESSAGE ")
端末にメッセージを出力する際に問題に直面しています。デフォルトの優先順位は 4 に設定されてKERN_ALERT
おり、優先順位1
が高いためです。
では、どうすれば端末にメッセージを出力できますか?
マニュアルページによると、メッセージのログレベルの優先度がデフォルト設定のログレベルよりも高い場合、端末に出力されると書かれています。しかし、私が次のような文を使用したとき
printk(KERN_ALERT " MESSAGE ")
端末にメッセージを出力する際に問題に直面しています。デフォルトの優先順位は 4 に設定されてKERN_ALERT
おり、優先順位1
が高いためです。
では、どうすれば端末にメッセージを出力できますか?
これがあなたの質問に正確に答えるわけではないことはわかっていますが、コメントで述べたようにprintk
、コンソールにログを作成することは一般的に良い考えではありません。これは、あなたの目的に十分に役立つはずの代替案です。
デバッグ目的で使用したいので、新しいターミナルを開いて次のコマンドを実行するだけです。
tail -f /var/log/messages
また
tail -f /var/log/dmesg
など。tail -f
ファイル内の最後のメッセージを出力しますが、更新を待ち続けます。ファイルにさらに行が書き込まれるとすぐに、tail -f
それらがコンソールに書き込まれます。
このメソッドを使用するか、コンソールに直接出力するかに関係なく、クラッシュの場合にログが確実に画面に表示されるようにprintk
、デバッグ モードで呼び出すマクロを定義することにも関心があるかもしれません。msleep
これは次のように行われます。
set_current_state(TASK_INTERRUPTIBLE);
msleep(/* amount in milliseconds */);