私が行った場合:
journalctl -u my-service
次にShift-F
ページング中にフォローするには、どうすればよいですか(interrupt to abort)
ページャーを終了せずに?
less
を使用すると、通常は^C
、ただし、journalctlでそれを行うと、ページャー全体が終了します。
あなたはがその時点でless
を使用していますが、^ Cはjournalctl
によってどのように呼び出されたかによって動作が異なります。 journalctlがless
に渡すフラグには、次のデフォルトが含まれます:
FRSXMK
これらのうち、「K」オプションがここで適用されると思います。
-Kまたは--quit-on-intr割り込み文字(通常は^ C)が入力されたときにlessをすぐに終了します(ステータス2)。通常、割り込み文字を使用すると、実行中の処理を停止してコマンドプロンプトに戻ります。このオプションを使用すると、「F」コマンドからコマンドプロンプトに戻ることができなくなります。
したがって、環境で$ SYSTEMD_LESSを設定し、「K」オプションを省略する必要がありますで問題が解決しますが、Ubuntu 16.04での私のテストでは機能しませんでした。
SYSTEMD_LESS="FRSXM"journalctl -u nginx
ただし、以下のバリエーションの動作を比較することにより、Kフラグが関連していることを確認したい動作を取得できます。
# ^C after Shift-F does not completely quit
journalctl -u nginx | less -FRSXM
# ^C after Shift-F completely quits
journalctl -u nginx | less -FRSXMK
私もこの迷惑な癖を経験しました。
設定SYSTEMD_LESS
は、^ Cを受信したときにjournalctlがSIGTERM
をポケットベルに送信するため、実際には機能しません。
私の「解決策」は、次のようなbashエイリアスを使用することでした。
alias log='SYSTEMD_COLORS=1 journalctl | less -FRSXM'
これはデフォルトのページャーを上書きし、フォローを中断しても終了しません。
環境変数SYSTEMD_COLORS
はSIGINT
の後に色を付けて実行を減らす唯一の方法のようです。
これは私のDebian 9インストールで動作します。