systemdは起動時に使用されたものとは異なるTTYに終了メッセージを送信したいと思います。具体的には、システムがシャットダウンし始めたら、システムからメッセージを送信する必要があります/dev/ttyS0
。
これが私が今まで試したことです:
systemdに出力を送信する場所を変更するようにします。
systemd
--default-standard-output
/許可します--default-standard-error
が、systemdが起動すると、これらの設定を変更する方法が見つかりません。systemctl daemon-rexec
新しいsystemdインスタンスの新しいパラメータは許可されていません。次の説明に従って、設定を使用して
TIOCCONS
コンソールを変更します。/dev/ttyS0
この問題: システムコールは成功したようですが、systemd は tty1 に出力を送信し続けます。このitctlコマンドは、コンソールのttyを切り替えるのではなく、コンソールの出力のみをリダイレクトするようです(#3と#4を参照)。S0を除くすべての仮想端末を閉じて、systemdがシリアル端末に切り替えるように強制します。
deallocvt
:tty1がコンソールと見なされるため失敗します(TIOCCONS
onに設定された後でも/dev/ttyS0
)。各仮想端末で systemd getty サービスを停止することも役に立たないようです。rm を使用して
/dev/tty{1..}
デバイスを簡単に削除し、関連する Agetty プロセスを終了し、systemd getty サービスを停止します。:まだ動作しません。たぶん、systemdはtty1のオープンファイル記述子を保持します。
これらの試みはすべて、systemdが終了メッセージを印刷するのを防ぎませんでした/dev/tty1
。最後の努力と考えています。データベースsystemdを編集してください。しかし、可能であればその道に行くのを避けたいです。
シャットダウン中にsystemdが出力を送信する場所を変更する方法はありますか?