Linux - 複数の画面に画面ログを表示しますか?

Linux - 複数の画面に画面ログを表示しますか?

問題がありますscreen。基本的に、画面ごとに 1 つのログを作成したいのですが、たとえば、画面 #1 はscreenlog.1、画面 #2 はscreenlog.2、メモを取得します。

とにかく、次を使用して画面を起動すると、次のことが起こります。

screen -SL screen1

(-Lパラメータは、ログを強制的に作成する必要があるためです) 最初の画面のみがログに記録され、残りの 2 ~ 5 画面はログに記録されません。パラメータ.screenrc付きのファイルを使用してみましたlogfileが、正常に動作しますが、 の名前が変更されるだけなのでscreenlog.0、これは私が望んでいることではありません。

これについてどうしたらいいか、何かアイデアはありますか?

追加情報: CentOS 6.3 (64 ビット)。Screen バージョン 4.00.03 (FAU) 2006 年 10 月 23 日。

答え1

複数の画面セッションの出力を個別のログ ファイルに記録する方法は次のとおりです。

  1. スクリーンセッションを開始するにはscreen -S <preferred-name-of-session>
  2. & を使用して画面をアタッチし、次のコマンドを使用して画面のログファイルを設定します。 Ctrl + a :logfile <name-of-log-file>
  3. 実行して画面のログ記録を開始します。Ctrl + a H
  4. 必要なプログラムを実行して画面を取り外します

毎回大変な作業のように見えるかもしれませんが、使い始めると非常に便利になります。

答え2

ログ出力のバッファリングが発生している可能性があります。

ローカルでスクリーン名ありとなしの両方をテストしたところ、期待どおりのスクリーンログ.0、.1、.2などが得られました。各ログは各ウィンドウの内容に対応していました。ディスクに書き込まれる前にバッファがあります。

参照フラッシュ秒数: http://www.gnu.org/software/screen/manual/screen.html#ログ

答え3

に加えてスプラーが言ったこと(おそらくここで起こっていることだと思いますが)scriptscreen問題がある場合は、セッションを記録します。

の便利さはscreen -L良いですが、それが問題を引き起こしている場合は、script便利な回避策があります(そして、マシンそれなし screen-- 残念ながら、それらはまだ存在しています -- おそらく、scriptまだそこに存在するでしょう。

関連情報