Golang 中的檔案描述符問題:「錯誤檔案描述子」已解決
當嘗試附加到Go 例程中的日誌文件時,開發人員可能會遇到「錯誤的文件描述符」錯誤。當文件存在並且具有適當的權限時,此問題可能會特別令人費解。
最初,嘗試同時開啟檔案的多個例程可能會導致該問題。然而,即使在實現互斥鎖來防止這種情況之後,同樣的錯誤仍然存在。
解決方案在於將 O_WRONLY 標誌加入到檔案開啟語句中。預設情況下,開啟操作以唯讀模式開啟檔案。如果沒有明確指定只寫標誌,任何寫入檔案的嘗試都會失敗,並出現「錯誤檔案描述符」錯誤。
以下是包含O_WRONLY 標誌的程式碼片段的修改版本:
if f, err := os.OpenFile("./log.log", os.O_APPEND|os.O_WRONLY, os.ModeAppend); err != nil { panic(err) }
透過此修改,檔案將以追加和只寫權限打開,解決「錯誤檔案描述符」錯誤並允許成功寫入日誌記錄檔。
以上是為什麼在附加到 Go 日誌檔案時會收到「錯誤檔案描述符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!