ローカルマシンで作業していたときから、リモートマシンで実行中のスクリプトを残しました。同じユーザーとして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