如何在 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
广告