「screen -L」を使用してログを強制的に上書きする方法は?

「screen -L」を使用してログを強制的に上書きする方法は?

バックグラウンドで長いコンピューティングタスクを実行したいと思います。私は選ぶscreen。しかし、画面がリダイレクトを許可していないことがわかりました。例えば

screen -dmS name ls>ls.dat

生成されませんls.dat

幸いscreen -L、画面のログがファイルに出力されます。ただし、pkill screenまったく新しい画面を実行しても、古いログファイルに追加されます。

新しい画面を起動するときに古いログファイルを強制的に上書きする方法はありますか?

ベストアンサー1

画面がログを覆うように強制することはできないと思います。screenlog.%nデフォルトでは%n画面ウィンドウ番号に書き込まれます(したがって、各ウィンドウには独自のログがあります)。ファイルが存在する場合は、ファイルに追加されます。

ただし、タイムスタンプを含む別のファイル名を使用するように指示できるため、screen毎回新しいログファイルをインポートしますが、古いログを管理する必要があります。

.screenrc次の行を入力できます。

logfile /path/to/log/screenlog-%n-%Y%m%d-%c:%s

%nウィンドウ番号()、年、月、日、時間を含むログファイルを生成します。

bashまたは、screenを実行する前にログファイルを削除するエイリアスを作成できます。たとえば、次のようになります。

alias screen='rm /path/to/log; screen'

screen現在のディレクトリのログファイルに影響を与えるには、/path/to/log/上記のコマンドから削除します。

最後に、達成したい目標に応じて、Linuxツールはscriptログインよりも便利ですscreenman scriptより多くの情報を知りたいです。

おすすめ記事