filelock

    0熱度

    1回答

    我有一個函數可以創建包含一些數據的.xml文件。每次首先刪除舊文件。一切工作正常,除了它有時被凍結,文件本身被鎖定。它的大小是0 kb,程序甚至不能刪除它。我必須殺死進程,自己刪除文件,然後再次運行程序。是否有可能在開始新程序之前殺死同一程序的所有進程?或者至少在其上放置一些定時器以確保它在一段時間過後自動關閉? 需要一些想法,謝謝。 fHandle = f_cFile("D:\Data\new_

    1熱度

    1回答

    這是我的方法來壓縮文件到壓縮文件: public void addFilesToArchive(File source, File destination) throws IOException, ArchiveException { try (FileOutputStream archiveStream = new FileOutputStream(destination);

    6熱度

    1回答

    我注意到java.io和java.nio隨機訪問文件的實現與處理FileLocks的方式略有不同。 看起來好像(在Windows上)java.io爲您提供強制性文件鎖定,並且java.nio分別向您提供諮詢文件鎖定。強制性文件鎖意味着該鎖適用於所有進程,並且適用於遵循相同鎖定協議的良好行爲進程的建議。 如果我運行以下示例,我可以手動刪除*.nio文件,而*.io文件拒絕刪除。 import jav

    0熱度

    1回答

    我創建了一個XML文件,我需要在註冊時通過電子郵件發送給用戶。 創建XML文件後,我將它作爲附加文件名(使用ServeMapPath)傳遞,並且電子郵件程序將電子郵件與文件一起發送。是啊。但是,我然後想要刪除該文件。 它出現在SmtpClient客戶端=新的SmtpClient(settings.SMTPServer);在發送電子郵件後鎖定文件。即使我等了很長時間,它仍然是鎖定的。從Visual

    0熱度

    1回答

    我只是想知道在幾種情況下python的模塊filelock及其行爲的具體情況。 首先,線程處理with:語句的確切程度。如果多個線程調用with:它是否鎖定在一個線程的基礎上?兩個線程可能同時獲得鎖嗎? 其次,當我使用with:時,我是否必須在使用後清除鎖定? with:聲明完成後鎖是否自動清除? 第三,我在我的代碼中有一個實例,我相信一個文件必須被創建,然後立即鎖定。目前我使用此: channe

    2熱度

    2回答

    某些程序(圖像程序,如Paint,文本編輯器(如記事本和寫字板等))會打開文件,將內容加載到內存中,然後釋放文件鎖定。有沒有辦法判斷一個程序是否在使用該文件,即使它沒有被鎖定? 例如,即使在Paint中打開image1.bmp,我的程序也可以覆蓋磁盤上image1.bmp的副本,因爲該文件未被鎖定。現在,在Paint中打開的image1.bmp的副本與磁盤上的image1.bmp的副本不同。 我的

    0熱度

    2回答

    我有一個循環每5秒產生一次線程,每個線程都試圖在python中使用filelock模塊追加相同的文件,但看起來像它們最終結束 - 寫入文件 import threading import filelock def loop(): threading.Timer(5,loop).start() lock = filelock.FileLock("PATH", timeou

    3熱度

    2回答

    鑑於我有一個所有進程的所有文件句柄的列表,我怎麼才能找出哪些句柄實際上鎖定了一個文件? 從我的理解我可以簡單地嘗試打開文件,並嘗試獲得所有的權限,如果出現錯誤,我會知道它被鎖定。但這聽起來效率很低。我的意思是我已經有句柄是沒有辦法檢查手柄有哪些權限? 最好我希望看到一個適用於Windows XP及更高版本的解決方案。 我已經搜遍了GetFileInformationByHandleEx函數,但是我

    0熱度

    2回答

    我有一種服務,負載和從一蟒dict轉儲數據轉換成使用蟒2.7cPickle的文件。這項服務可以被許多用戶同時調用。 什麼方法可以允許cPickle在多線程上下文中讀取數據並將其轉儲到單個文件中,以避免操作期間數據異步(在另一個進程正在轉儲時加載)問題? 我正在考慮使用filelock,但我還沒有成功。 下面我的代碼,該文件總是有init_cache()cPickle.load(cache_file

    0熱度

    2回答

    我想從不同的線程(類似於日誌記錄)追加(寫入附加)到一個文件,因此不需要進程間鎖定。 我已經在fcntl.h中研究了flock,它說羣可以在進程間執行粒度鎖定,在我的情況下這不是必需的。 char* file = "newfile.txt"; int fd; struct flock lock; printf("opening %s\n", file); fd = open(file,