tail
の使用 フォローモードでは、やりたいことができるはずです。
tail -n +0 -f /proc/<pid>/fd/<fd> > abc.deleted
簡単なテストを行ったところ、ここで動作するようです。ファイルがバイナリファイルであるかどうかについては言及していません。私の主な懸念は、ファイルの先頭からコピーされない可能性があることですが、-n +0 引数はバイナリ ファイルに対してもコピーする必要があります。
ダウンロードの最後に tail コマンドが終了しない場合があるため、自分で終了する必要があります。
実は私には別の考えがありました。別のコマンドを使用して /proc/<pid>/fd/<fd>
を読み取る場合 そのプログラムを実行し続け、ダウンロードが完了したら、適切な /proc/<pid2>/fd/<fd2>
からコピーできます 2 番目のコマンドのファイル。
試してみてください
less /proc/<pid>/fd/<fd>
別のシェルで。 less コマンドの /proc エントリを見ると、削除されたファイルが表示されます。