在linux環境下開發經常會碰到很多錯誤(設定errno),其中eagain是其中比較常見的乙個錯誤(比如用在非阻塞操作中)。
從字面上來看,是提示再試一次。這個錯誤經常出現在當應用程式進行一些非阻塞(non-blocking)操作(對檔案或socket)的時候。例如,以o_nonblock的標誌開啟檔案/socket/fifo,如果你連續做read操作而沒有資料可讀。此時程式不會阻塞起來等待資料準備就緒返回,read函式會返回乙個錯誤eagain,提示你的應用程式現在沒有資料可讀請稍後再試。
又例如,當乙個系統呼叫(比如fork)因為沒有足夠的資源(比如虛擬記憶體)而執行失敗,返回eagain提示其再呼叫一次(也許下次就能成功)。
Linux 中 proc meminfo 的含義
做嵌入式開發對記憶體洩露很敏感,而對洩露的位置更加關注。本文記錄一下從網上蒐集的 proc meminfo各引數的含義。還不完整,待補完。關於 proc meminfo的理解 linux documentation filesystems proc.txt 以下專案並不是每乙個 linux 系統上都...
Linux中 2 1 的含義
平時寫shell指令碼時經常見到命令或者定時任務的後面跟著2 1的寫法,舉個例子大概如下面這樣 定時任務中 0 1 root bin sh opt log clear.sh dev null 2 1 普通shell指令碼中 yuminstall y mariadb galera server mar...
Linux中變數 , , 0, 1, 2的含義
我們先寫乙個簡單的指令碼,執行以後再解釋各個變數的意義 touch variable vi variable 指令碼內容如下 bin sh echo number echo scname 0 echo first 1 echo second 2 echo argume 儲存退出 賦予指令碼執行許可權...