流程退出状态3是什么意思?

时间:2010-10-22 10:48:35

标签: python linux unix process status

我已经看到在重启进程的几个python scripts中使用退出状态3。据我所知,Unix / Linux上的约定只有0和“0”。

是否有定义其他值的约定,例如3

4 个答案:

答案 0 :(得分:4)

至少在过去,返回值1通常意味着硬错误,值2通常保留用于命令行参数的问题 - 这意味着用户犯了错误,而不是程序。但除此之外:不,没有惯例;甚至那种轻微的惯例也不普遍。就像命令行参数前面的破折号一样,某些版本的 ps(1)让你省略,返回代码只是约定。通常,将文档(或源代码!)读取到您正在运行的脚本中,然后必须将错误代码检查代码编写为其特定含义。

答案 1 :(得分:3)

对于非零值没有约定,它们通常用于传达终止的原因,并且由每个应用程序来定义错误代码和原因的映射。在您链接的情况下,您可以清楚地看到退出代码3上方的几行,它用于表示代码已更改。

即在这种情况下,这将给出自动重启完成的行为,只要终止的原因是代码更改而没有其他内容。

答案 2 :(得分:0)

BSD试图标准化退出代码,但它没有(还没有?)流行:

sysexits3

答案 3 :(得分:0)

在这种情况下,其不清楚。如果开发人员还在,那么我会完全做的建议。

The Advanced Bash Scripting Guide lists some common exit codes with special meanings.