簡體   English   中英

ruby rm_rf異步?

[英]is ruby rm_rf asynchronous?

如果我做

rm_rf('somewhere')
mkdir('somewhere')

Permission Deninedmkdir拋出一個Permission Denined 這是因為rm_rf以異步rm_rf運行,有時在mkdir運行之前還沒有完成刪除dir?

如何在完成刪除之前阻止它?

在Windows btw上運行它。

謝謝

聽起來像NTFS的一個功能,請參閱Microsoft Suppport

此文件處於稱為掛起刪除的狀態。 此文件已被刪除,但仍有句柄打開。 在更新索引之前,NTFS將等待此文件的所有句柄都關閉。 但是,如果嘗試訪問該文件,NTFS將拒絕該嘗試。 由於該文件在索引中列出,但實際上已刪除,因此您可以查看該文件但無法訪問該文件。

看看解決方案,我認為除了等待和重試之外別無其他。

與任何其他常用的ruby方法一樣, rm_rf同步的

如果它不是那么你可能會得到一個Errno::EEXIST錯誤,但你得到'許可被拒絕'。

作為一種解決方法嘗試在rm_rfmkdir之間插入一些小延遲,如sleep(0.1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM