Pomocí tail
v režimu sledování by vám mělo umožnit dělat, co chcete.
tail -n +0 -f /proc/<pid>/fd/<fd> > abc.deleted
Udělal jsem jen rychlý test a zdá se, že to funguje. Neuvedl jste, zda váš soubor byl binární soubor nebo ne. Mým hlavním problémem je, že se nemusí kopírovat od začátku souboru, ale argument -n +0 by to měl dělat i pro binární soubory.
Příkaz tail nemusí být ukončen na konci stahování, takže jej budete muset ukončit sami.
Vlastně mě napadlo něco jiného. Pokud ke čtení /proc/<pid>/fd/<fd>
použijete jiný příkaz a ponechte tento program spuštěný a po dokončení stahování jej můžete zkopírovat z příslušného /proc/<pid2>/fd/<fd2>
soubor druhého příkazu.
Jen to zkuste
less /proc/<pid>/fd/<fd>
v samostatné skořápce. Pohled na položku /proc pro příkaz less by vám měl ukázat váš smazaný soubor.