如何在 Linux 中瞭解“errno”的含義?
Errno 是一個值,當您執行的命令返回呼叫值表示錯誤時,您會得到該值。有一個頭檔案定義了整數變數 errno,它由系統呼叫和一些庫函式在發生錯誤時設定,以讓開發人員知道出了什麼問題。
簡單來說,“errno”是作業系統錯誤的症狀。通常由作業系統呼叫失敗產生。
在 UNIX 中,errno 以大寫字母定義。
示例
EPERM ENOENT ESRCH EINTR EIO ENXIO
在上面的示例中,提到了一些格式化的 errno,它們具有不同的值和含義。
雖然 ‘errno’ 存在於大多數基於 Linux 的系統上,但您仍然可以藉助下面顯示的命令下載該工具。
對於 Ubuntu/Fedora
sudo apt-get install errno
對於 CentOS
yum install errno
安裝完 errno 工具後,我們可以藉助下面顯示的命令列出所有 errno 符號及其含義 -
errno -l
輸出
1 EPERM Operation not permitted 2 ENOENT No such file or directory 3 ESRCH No such process 4 EINTR Interrupted system call 5 EIO Input/output error 6 ENXIO No such device or address 7 E2BIG Argument list too long 8 ENOEXEC Exec format error 9 EBADF Bad file descriptor 10 ECHILD No child processes
需要注意的是,以上輸出中超過 130 個條目,我只列出了前 10 個。
正如我們所看到的,我們為每個 errno 附加了描述,藉助以上輸出,我們可以輕鬆確定 ‘errno’ 的實際含義。
另一種更簡單的方法是隻列印編號的 errno,而不是列印整個表格。
命令
errno 2
輸出
No such file or directory
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP