errno与Linux中的返回码之间的区别

时间:2019-10-22 20:36:32

标签: c linux

errno可用的<errno.h>和可以使用return code进行bash打印的echo $?有什么区别?他们指的是相同的代码吗?

1 个答案:

答案 0 :(得分:1)

进程的退出代码通常与errno代码不符。

最具可移植性的策略是,对于失败退出(或者甚至更容易移植的EXIT_FAILURE(如stdlib.h中定义的errno)具有1,对于成功退出具有0。

某些程序遵循bsd sysexits strategy来将mores特定的退出条件映射到退出代码。

其他程序可能会选择返回errno+1代码(与最终导致进程退出的系统调用失败相关)或例如exit,您通常可以将其放入influxd backup -portable /opt/backup 使用的8位,但是除了零退出代码表示成功和非零退出代码表示(某种)失败之外,没有系统级强制的退出代码策略,甚至没有强制执行的约定。

相关问题