web-dev-qa-db-ja.com

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

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

とにかく、次を使用して画面を起動するとどうなりますか。

screen -SL screen1

-Lパラメーターは、ログを作成するように強制する必要があるためです)最初の画面のみをログに記録し、残りの2〜5画面はログに記録しません。 logfileパラメータを指定して.screenrcファイルを使用してみましたが、機能しますが、screenlog.0の名前を変更するだけで、実際には必要ありません。

私がこれについてどうやって行くのか考えはありますか?

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

2
Jony Kale

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

  1. screen -S <preferred-name-of-session>を使用してスクリーンセッションを開始します
  2. を使用して画面を添付し、次のコマンドを使用して画面のログファイルを設定します:Ctrl + a :logfile <name-of-log-file>
  3. Ctrl + a Hを実行して、画面ログを開始します
  4. 必要なプログラムを実行してから画面を切り離します

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

3

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

スクリーン名の有無にかかわらずローカルでテストし、期待されるscreenlog.0と.1と.2などを受け取りました。各ログは各ウィンドウの内容に対応していました。ディスクに書き込まれる前にバッファがあります

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

2
user182320

splaerが言ったこと (おそらくここで起こっていることです)に加えて、scriptが問題を引き起こしている場合は、 screen を使用してセッションを記録することをお勧めします。

screen -Lの便利さは便利ですが、問題が発生した場合はscriptが便利な回避策です(そして、マシン上にいることに気付いた場合withoutscreen--それらはまだ悲しいことに存在します--scriptはまだ存在する可能性があります)。

1
voretaq7