SSH接続を介してSysRqコマンドを送信する方法は?

SSH接続を介してSysRqコマンドを送信する方法は?

私はBeagleboneBlackをベースにしたカスタムボードを開発しており、
最近システムの中断の問題をデバッグしていました。を使用してデバッグコンソールにアクセスでき、+、F `minicomキーの組み合わせを使用してロギングを有効にできます。CtrlA

ただし、すべての生産機器にデバッグコンソールはありません。を介して接続することはできませんが、minicomssh接続を介してアクセスできます。

SSH接続を介してSysRqキーを送信する方法があるかどうかを知りたいです。

動作中のデバイスでecho h > /proc/sysrq-trigger出力を使用すると、sshで印刷するのではなく、デバッグ(またはシリアル)コンソール(minicom)に印刷されます。
この出力をSSH端末に送信する方法はありますか?

システムがロックされている場合はSSH接続が無効になるため、私が尋ねる質問はやや不可能であることを知っています。しかし、接続が有効な場合にSysRqキーを送信する方法があるかどうかを知りたいです。

答え1

dmesgssh端末に表示する応答を直接取得することはできませんが、カーネルの出力は(一般的に)記録されるため、印刷された内容を見ることができます/var/log/messagesecho 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できます。rsyslogrsyslog

$ModLoad imklog
kern.*    -/var/log/kernel

systemdシステムベースのシステムは、コマンドを介してこのログを公開できますjournalctl

関連情報