私はBeagleboneBlackをベースにしたカスタムボードを開発しており、
最近システムの中断の問題をデバッグしていました。を使用してデバッグコンソールにアクセスでき、+、F `minicom
キーの組み合わせを使用してロギングを有効にできます。CtrlA
ただし、すべての生産機器にデバッグコンソールはありません。を介して接続することはできませんが、minicom
ssh接続を介してアクセスできます。
SSH接続を介してSysRqキーを送信する方法があるかどうかを知りたいです。
動作中のデバイスでecho h > /proc/sysrq-trigger
出力を使用すると、sshで印刷するのではなく、デバッグ(またはシリアル)コンソール(minicom)に印刷されます。
この出力をSSH端末に送信する方法はありますか?
システムがロックされている場合はSSH接続が無効になるため、私が尋ねる質問はやや不可能であることを知っています。しかし、接続が有効な場合にSysRqキーを送信する方法があるかどうかを知りたいです。
答え1
dmesg
ssh端末に表示する応答を直接取得することはできませんが、カーネルの出力は(一般的に)記録されるため、印刷された内容を見ることができます/var/log/messages
。echo h > /proc/sysrq-trigger; dmesg | tail
答え2
SysRq ダイレクト機能はコンソールでのみ使用できます。
標準の「VGA」コンソールでは、Altおよび「Command」で使用されるテキストキーSysRq(「Print Screen」とも呼ばれます)です。
シリアルコンソールでは、BREAK信号を介してアクセスできます。
ただし、SSHを介してSysRqに直接アクセスすることはできないため、この/proc/sysrq-trigger
ファイルを使用する必要があります。
カーネルのドキュメントでは、SysRq の詳細と、さまざまなプラットフォームでさまざまなキーの組み合わせがどのように機能するかを説明します。https://www.kernel.org/doc/Documentation/sysrq.txt
SysRq 出力はカーネルによって生成されるため、リングバッファに入ります。これはを読んで行うことができますdmesg
。
また、オペレーティングシステムの設定方法に応じてカーネル出力をファイルに送信することもsyslog
できます。rsyslog
rsyslog
$ModLoad imklog
kern.* -/var/log/kernel
systemd
システムベースのシステムは、コマンドを介してこのログを公開できますjournalctl
。