Python 流程退出状态3是什么意思?
我在几个重启进程的例子中看到了exit statusPython 流程退出状态3是什么意思?,python,linux,unix,process,status,Python,Linux,Unix,Process,Status,我在几个重启进程的例子中看到了exit status3的用法。据我所知,该约定仅适用于Unix/Linux上的0和“不0” 是否有定义其他值的约定,如3非零值没有约定,它们通常用于传达终止原因,由每个应用程序定义错误代码和原因的映射。在您链接到的情况下,您可以清楚地看到检查退出代码3上方的几行,它用于指示代码已更改 也就是说,在这种情况下,只要终止的原因是代码更改而不是其他原因,就会出现自动重启的行为。至少在过去,返回值1通常意味着硬错误,而值2通常是为命令行参数的问题保留的-它意味着用户犯了错
3
的用法。据我所知,该约定仅适用于Unix/Linux上的0
和“不0
”
是否有定义其他值的约定,如
3
非零值没有约定,它们通常用于传达终止原因,由每个应用程序定义错误代码和原因的映射。在您链接到的情况下,您可以清楚地看到检查退出代码3上方的几行,它用于指示代码已更改
也就是说,在这种情况下,只要终止的原因是代码更改而不是其他原因,就会出现自动重启的行为。至少在过去,返回值1通常意味着硬错误,而值2通常是为命令行参数的问题保留的-它意味着用户犯了错误,而不是程序。但除此之外:不,没有惯例;即使是这种轻微的惯例也不是普遍的。与命令行参数前面的破折号一样,返回代码只是惯例,ps(1)的一些版本允许您省略这些破折号。一般来说,阅读您正在运行的脚本的文档(或源代码!),然后您必须编写特定含义的错误代码检查代码。BSD试图标准化退出代码,但它(尚未)流行:
在这种情况下,它不清楚。弗雷特的建议是,如果开发者还在的话,我完全会这么做
@daemon:如果有约定,它仍然不能回答“3在这种情况下是什么意思”的问题?公约不是法律。您正在使用的特定脚本可能无法遵守约定。@S.Lott-我想他要问的是,“我知道0意味着没有错误,非零意味着错误,但是Python/Linux/Unix中是否有某种约定赋予了3特殊的意义?”@绵羊模仿者:我想说的是,即使有一个惯例,这些信息也无济于事。我认为真正的问题是“3在这种情况下是什么意思”?