当调用execl(…)时,我得到一个errno=2。这是什么意思?我怎么知道这个errno的意思?
当前回答
它的意思是:
未找到文件或目录。
其他回答
它的意思是:
未找到文件或目录。
错误码2表示“未找到文件/目录”。通常,可以使用perror函数打印人类可读的字符串。
Call
perror("execl");
以防出错。
示例:
if(read(fd, buf, 1)==-1) {
perror("read");
}
errno(3)和perror(3)的手册页也很有趣……
当您使用strace(在Linux上)运行二进制文件时,它将输出系统调用的返回值以及错误数的含义。这可能有时对你有用。
这里是文档。这应该会告诉你它的含义以及如何处理它们。您应该避免使用数值,并使用这里列出的常量,因为数字在不同的系统之间可能会发生变化。