Utilisation de tail
en mode suivi devrait vous permettre de faire ce que vous voulez.
tail -n +0 -f /proc/<pid>/fd/<fd> > abc.deleted
Je viens de faire un test rapide et cela semble fonctionner ici. Vous n'avez pas mentionné si votre fichier était un fichier binaire ou non. Ma principale préoccupation est qu'il ne peut pas copier depuis le début du fichier, mais l'argument -n +0 devrait le faire même pour les fichiers binaires.
La commande tail peut ne pas se terminer à la fin du téléchargement, vous devrez donc la terminer vous-même.
En fait, j'ai eu une autre pensée. Si vous utilisez une autre commande pour lire /proc/<pid>/fd/<fd>
et gardez ce programme en cours d'exécution, puis lorsque vous téléchargez est terminé, vous pouvez le copier à partir du /proc/<pid2>/fd/<fd2>
approprié fichier de la seconde commande.
Essayez simplement
less /proc/<pid>/fd/<fd>
dans une coque séparée. Regarder l'entrée /proc pour la commande less devrait vous montrer votre fichier supprimé.