如何在 Linux 中导致错误 77 EBADFD

如何在 Linux 中导致错误 77 EBADFD

可以编写哪些快速 shell 脚本、Python 脚本或 C 程序来使其退出并显示错误代码 77(即 EBADFD)?我不想只说 exit 77,我希望它做一些事情来导致实际生成该错误。

答案1

EBADFDerrno是一个错误代码,可以通过 Linux 中的某些系统调用在变量中返回。您在 shellexit 123exit(123)C 程序中使用的任何内容都会设置程序的退出状态。

这些是不一样的,通常程序不会以系统调用的错误代码退出,而是以更通用的方式退出,例如1或由程序本身定义的值。例如,如果命令行上指定的文件有错误,GNU ls 返回 2;如果遇到的其他文件有错误,则返回 1;sox另一方面,如果命令行参数有错误,则返回 1;如果文件出现错误,则返回 2。

至于EBADFD,它似乎不是很常见,主要用于某些驱动程序,声音驱动程序似乎是一个比较突出的用户(看这里)。 (EBADF当然,这很常见。)

相关内容