ローカルマシンで作業していたときから、リモートマシンで実行中のスクリプトを残しました。同じユーザーとしてSSH経由でマシンに接続し、スクリプトが実行されてpsいるのを確認できます。
$ ps aux | grep ipcheck
myuser 18386 0.0 0.0 18460 3476 pts/0 S+ Dec14 1:11 /bin/bash ./ipchecker.sh
ローカルセッションでstdoutに出力するだけです(./ipchecker.shローカルターミナルウィンドウから実行しました。リダイレクトも使用もしていませんscreen)。
とにかくSSHセッションから、この実行中のコマンドの出力を(停止することなく)表示できますか?
これまでのところ、私が見つけた最高のものは使用することです。strace -p 18386しかし、私は画面上を飛び回る大量のテキストを取得します。strace出力を停止してふるいにかけると、テキストが標準出力に印刷されますが、非常に長く混乱しやすく、停止している間に何かを見逃す可能性があります。ローカルで作業しているかのように、スクリプト出力をライブで表示する方法を見つけたいと思います。
誰でもこれを改善できますか?明らかな答えは、リダイレクトまたはscreenセッションなどでスクリプトを再起動することです。これはミッションクリティカルなスクリプトではないので、それを行うことができます。むしろ、これは楽しい学習エクササイズだと思っています。
strace -p 4232 -e write
