我已经看到在重启进程的几个python scripts中使用退出状态3
。据我所知,Unix / Linux上的约定只有0
和“0
”。
是否有定义其他值的约定,例如3
。
答案 0 :(得分:4)
至少在过去,返回值1通常意味着硬错误,值2通常保留用于命令行参数的问题 - 这意味着用户犯了错误,而不是程序。但除此之外:不,没有惯例;甚至那种轻微的惯例也不普遍。就像命令行参数前面的破折号一样,某些版本的 ps(1)让你省略,返回代码只是约定。通常,将文档(或源代码!)读取到您正在运行的脚本中,然后必须将错误代码检查代码编写为其特定含义。
答案 1 :(得分:3)
对于非零值没有约定,它们通常用于传达终止的原因,并且由每个应用程序来定义错误代码和原因的映射。在您链接的情况下,您可以清楚地看到退出代码3上方的几行,它用于表示代码已更改。
即在这种情况下,这将给出自动重启完成的行为,只要终止的原因是代码更改而没有其他内容。
答案 2 :(得分:0)
BSD试图标准化退出代码,但它没有(还没有?)流行:
答案 3 :(得分:0)
在这种情况下,其不清楚。如果开发人员还在,那么我会完全做的建议。
The Advanced Bash Scripting Guide lists some common exit codes with special meanings.