異なる点の標準出力を表示[冗長]

異なる点の標準出力を表示[冗長]

状況はこんな感じです。コンピュータを家に置いて、ある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

完全には明確ではありませんが、接続されたプロセスの標準出力を最初の行に指定されたパス(この場合は目的のポイント)にリダイレクトします。

おすすめ記事