dmesg -wをバックグラウンドで実行する方法

dmesg -wをバックグラウンドで実行する方法

それで、コンピュータをクラッシュさせるコマンドがありますが、dmesgの出力を見て、その理由を知りたいのですが。

dmesgがプロセスを追跡できるようにするオプションがあることを確認しましたが、-w問題は終了しないため、次のコマンドを実行できませんdmesg -w

頑張った

>     #!/bin/bash 
>     dmesg -w & 
>     echo image.raw | /sys/device/platform/inject_frame

しかし、これはまだバックグラウンドで実行されていません。私ができることについて提案がありますか?

私が使用しているカーネルのバージョンは4.9.241です。

編集:コメントセクションでHarryが提供したソリューションです。最後に私が(sudo journal -fk | sudo dd=log.txt) &望むことをしました。つまり、次のジョブのログをlog.txtにキャプチャすることでした。

Journalctlがdmesgとどのように異なるかを理解するには、ここで確認できます。 https://www.reddit.com/r/redhat/comments/n3b278/can_someone_briefly_explain_the_major_differences/ dmesgとJournalctlの違いは何ですか

ベストアンサー1

strace -p pidプログラムが実行されているときに何が起こっているのかを理解するのに優れており、root権限は必要ありません。次のようにバックグラウンドで実行できます。

nohup strace -p pid &

そして追跡に従ってください。tail -f nohup.out

おすすめ記事