在 Linux 中,如果进程的退出状态为 0,则认为该进程已正确完成。
我发现分段错误通常会导致退出状态为 11,尽管我不知道这只是我工作的约定(像这样失败的应用程序都是内部的)还是标准。
Linux 中的进程有标准退出代码吗?
第 1 部分:高级 Bash 脚本编写指南
一如既往,高级 Bash 脚本编写指南 has 很棒的信息:
(这在另一个答案中链接,但链接到非规范的 URL。)
1:一般错误的包罗万象
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
/*
* Copyright (c) 1987, 1993
* The Regents of the University of California. All rights reserved.
(A whole bunch of text left out.)
#define EX_OK 0 /* successful termination */
#define EX__BASE 64 /* base value for error messages */
#define EX_USAGE 64 /* command line usage error */
#define EX_DATAERR 65 /* data format error */
#define EX_NOINPUT 66 /* cannot open input */
#define EX_NOUSER 67 /* addressee unknown */
#define EX_NOHOST 68 /* host name unknown */
#define EX_UNAVAILABLE 69 /* service unavailable */
#define EX_SOFTWARE 70 /* internal software error */
#define EX_OSERR 71 /* system error (e.g., can't fork) */
#define EX_OSFILE 72 /* critical OS file missing */
#define EX_CANTCREAT 73 /* can't create (user) output file */
#define EX_IOERR 74 /* input/output error */
#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */
#define EX_PROTOCOL 76 /* remote error in protocol */
#define EX_NOPERM 77 /* permission denied */
#define EX_CONFIG 78 /* configuration error */
#define EX__MAX 78 /* maximum listed value */
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)