在Linux中關閉ruby中的文件而不先關閉它是安全的嗎?有關係嗎?可以在不關閉紅寶石的情況下取消鏈接文件嗎?
回答
在Linux上,這是安全的,並且通常用於創建無法發現臨時文件。
只要您打開文件,您可以讀取和寫入文件,無論文件是否被刪除都無關緊要。該文件將在您關閉它時真正消失並刪除它,而不管順序如何。
但Ruby確實這樣做,還是在刪除文件之前關閉了文件? – nitro2k01 2011-12-30 10:09:04
@ nitro2k01當你解除鏈接時,Ruby不會關閉文件,它只是發出一個「unlink」系統調用。 – 2011-12-30 10:14:03
必須注意的是,如果在文件打開時檢查'/ proc/$ PID/fd'目錄,你仍然可以發現它們 – 2011-12-30 11:45:56
- 1. 取消在不關閉對話框的情況下在JFileChooser中選擇文件
- 2. 如何「突破」的情況下...而在紅寶石
- 3. 紅寶石:文件對話框不會關閉
- 4. 可以在不需要關注的情況下下載文件嗎?
- 5. 如何在不關閉文件的情況下覆蓋文件
- 6. 在軌道上的紅寶石鏈接
- 7. 我可以在另一個紅寶石塊內有紅寶石塊嗎?
- 8. 紅寶石語法錯誤在多種情況下使用&&
- 9. 在這種情況下我應該使用多線程嗎? [紅寶石]
- 10. 如何將RegExp置於紅寶石的情況下?
- 11. 更高效的紅寶石,如果情況下
- 12. 可以在不使用鏈接的情況下使用Disqus?
- 13. TCP/IP在不關閉連接的情況下連續接收消息
- 14. 紅寶石寶石文檔
- 15. 下載紅寶石ttf文件
- 16. 如何在沒有關閉連接的情況下獲取Bak文件或MDF?
- 17. 是否可以在不觸發激活事件的情況下關閉窗口?
- 18. 紅寶石可以EXIFR找不到文件
- 19. 在pecl4win關閉的情況下,哪裏可以得到php_perl.dll?
- 20. 我是否可以在幾次關閉的情況下關閉模擬
- 21. 強制鏈接繞過SSL(紅寶石)
- 22. 紅寶石動態鏈接方法
- 23. 紅寶石自動鏈接用戶名
- 24. 紅寶石軌道,自舉鏈接
- 25. 紅寶石方法經檢查鏈接
- 26. 紅寶石鏈接到主頁#index _path
- 27. 紅寶石非寶石依賴關係
- 28. 紅寶石 - 批量讀取文件
- 29. 如何在不關閉主程序的情況下關閉jframe
- 30. 如何在不關閉tkinter的情況下關閉pygames?
在linux上我會說這是完全合法的,因爲你*可以*刪除一個文件而不關閉它。它用於例如創建不可發現的臨時文件。 – 2011-12-30 09:41:17
這取決於*操作系統*。在Posix系統(和Linux)上它是可以接受的(通常的做法是獲得真正的臨時文件)。我聽說它在Windows上不允許刪除(不能刪除打開的文件),但我對Windows一無所知。 – 2011-12-30 09:42:36
Ruby提供了非常方便的方法來打開,修改,然後關閉一個文件;很少,如果你的Ruby代碼有任何懸掛文件句柄。 – ranksrejoined 2011-12-30 09:44:34