Linux中是否有标准的退出状态代码?

如果进程的退出状态为0,则认为该进程已在Linux中正确完成

我已经看到细分错误通常会导致退出状态为11,尽管我不知道这仅仅是我工作的惯例(像那样失败的应用程序都是内部的)还是一个标准

Linux中是否有进程的标准退出代码

第1部分:高级Bash脚本指南

与往常一样,《高级Bash脚本编写指南》提供了大量信息:
(这在另一个答案中有链接,但链接到一个非规范URL。)

1:Catchall用于一般错误
2:误用shell内置组件(根据Bash文档)
126:调用的命令无法执行
127:“未找到命令”
128:要退出的参数无效
128+n:致命错误信号“n”
255:退出状态超出范围(退出只接受0-255范围内的整数参数)

第2部分:sysexits.h

ABSG引用了sysexits.h

在Linux上:

$find/usr-name sysexits.h
/usr/include/sysexits.h
$cat/usr/include/sysexits.h
/*
*版权所有(c)1987年、1993年
*加利福尼亚大学的摄政王。版权所有。
(遗漏了一大堆文字。)
#定义EX_OK 0/*成功终止*/
#为错误消息定义EX__base64/*基值*/
#定义EX_用法64/*命令行用法错误*/
#定义EX_DATAERR 65/*数据格式错误*/
#定义EX_NOINPUT 66/*无法打开输入*/
#定义EX_NOUSER 67/*收件人未知*/
#定义EX_NOHOST 68/*主机名未知*/
#定义EX_不可用69/*服务不可用*/
#定义EX_软件70/*内部软件错误*/
#定义EX_OSERR 71/*系统错误(例如,无法分叉)*/
#定义EX_OSFILE 72/*缺少关键OS文件*/
#定义EX_CANTCREAT 73/*无法创建(用户)输出文件*/
#定义EX_IOERR 74/*输入/输出错误*/
#定义EX_TEMPFAIL 75/*临时故障;邀请用户重试*/
#在协议中定义EX_协议76/*远程错误*/
#定义EX_NOPERM 77/*权限被拒绝*/
#定义EX_配置78/*配置错误*/
#定义EX_uumax 78/*最大列出值*/

发表评论