看板 Linux 關於我們 聯絡資訊
想請問一個問題 我正在下載一個檔案,抓了老半天 不小心把他 rm 了,可是檔案還在下載 猜想檔案的 file descriptor 還開著 因為是 jdownloader,所以我 pidof java 接著 cd /proc/<pid>/fd 可以看到裡面有一個連結指向我的那個檔案 大概是 105 -> <path>:[deleted] 可是檔案還在下載,我不能照著網路上的說法把他 cp 或是 cat 出來 不然檔案會不完整 而且下載完以後 fd 就會被釋放,所以也不能等他下載完 想請問有什麼方法可以把這個檔案重新 link 回去嗎 我目前的作法是先 less 這個檔案,避免他下載後被關掉 最後從 less 的 fd 裡面重新抓回來 crc32 也一樣,證實了這個方法有效 但這個作法實在是太麻煩了,也要在下載完後作後處理 想請問有直接一點的作法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.243.89
bitlife:試試 tail -f <fd> | cat > <destination> 06/07 16:58
bitlife:<fd> 和 <destination> 是對應檔案之 fd 以及檔名 06/07 16:59
bitlife:那個 | 和 cat 應該可以省掉 06/07 17:00
bitlife:忘了tail預設最後10行. 此外tail也比較適用文字檔. 不過仍 06/07 17:07
bitlife:可一試 06/07 17:07
johnjohnlin:感謝,下次有機會來試試看 06/07 18:46
kdjf:google到有人寫了個fdlink() 可以去看看 06/07 22:50