我已經寫了一個C程序來將一系列字符寫入文件--5個字母數字,後跟一個(char)(30)
,'記錄分隔符'性格,重複...沒有新行。該程序能夠完美循環,直到達到第508次迭代--3048個字符 - 然後死亡,並說我無法訪問該文件。Unix上C上的文件寫入程序卡在508打開/關閉週期
該方案的結構就必須關閉並且每到這個序列被寫入(腳本是一個較大的僞數據庫模擬模塊的一部分)時的文件的重新打開,所以有508個循環通過打開/寫/關閉過程......在我開始剖析數據庫模塊代碼(其中有很多行,所以我寧願不必如果我可以避免它),我想知道是否有人知道很少遇到的讀取Unix下的寫入限制或在某個時間限制下文件中有3048個字符的問題,或文件中存在508 {30}的問題,或者這樣的簡單(但難以捕捉)的問題。我試圖將讀/寫延遲幾毫秒,而不是偶然發生,因爲它會被打開,或像這樣跳過自身,但不會有雪茄。
爲什麼你不給我們展示這個問題的最小樣本?機會是你正在泄漏資源(緩衝區,文件描述符,其他東西) – sehe