状況はこんな感じです。コンピュータを家に置いて、ある2TBハードドライブから別の2TBハードドライブに再同期しました(どちらもUSB 2.0なので時間がかかります)。私は今職場にいて、SSH経由で自宅のコンピュータに接続しました。これにより、ps aux | grep rsync
次のことがわかります。
1000 7214 18.8 0.1 30636 1368 pts/0 S+ 00:52 134:00 rsync -vr /media/master /media/slave
しかし、私はrsyncが実際に何をしているのか見たかったです。自宅にいるときに標準出力が端末に表示され、rsyncの詳細モードは現在コピーされているファイルを示します。異なるポイントの標準出力を読み取る方法はありますか?
$ ps -t pts/0
7214 pts/0 02:14:42 rsync
Googleを試してみると/proc/pid/fd
答えがあるようですが、よくわかりません...
PS:もちろん、sudo権限があります。
ベストアンサー1
実行しgdb -p 7214
、次の操作を行います。
p dup2(open("/dev/pts/your-pts-number", 1), 1)
detach
quit
完全には明確ではありませんが、接続されたプロセスの標準出力を最初の行に指定されたパス(この場合は目的のポイント)にリダイレクトします。