問題があります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
複数の画面セッションの出力を個別のログ ファイルに記録する方法は次のとおりです。
- スクリーンセッションを開始するには
screen -S <preferred-name-of-session>
- & を使用して画面をアタッチし、次のコマンドを使用して画面のログファイルを設定します。
Ctrl + a :logfile <name-of-log-file>
- 実行して画面のログ記録を開始します。
Ctrl + a H
- 必要なプログラムを実行して画面を取り外します
毎回大変な作業のように見えるかもしれませんが、使い始めると非常に便利になります。
答え2
ログ出力のバッファリングが発生している可能性があります。
ローカルでスクリーン名ありとなしの両方をテストしたところ、期待どおりのスクリーンログ.0、.1、.2などが得られました。各ログは各ウィンドウの内容に対応していました。ディスクに書き込まれる前にバッファがあります。
参照フラッシュ秒数: http://www.gnu.org/software/screen/manual/screen.html#ログ
答え3
に加えてスプラーが言ったこと(おそらくここで起こっていることだと思いますが)script
screen
問題がある場合は、セッションを記録します。
の便利さはscreen -L
良いですが、それが問題を引き起こしている場合は、script
便利な回避策があります(そして、マシンそれなし screen
-- 残念ながら、それらはまだ存在しています -- おそらく、script
まだそこに存在するでしょう。