我曾在几个Python脚本中看到了退出状态码3
的使用,用于重新启动进程。据我所知,在Unix/Linux系统中,惯例只涉及到0
和"非0
"。
是否有其他定义3
等值的惯例?
我曾在几个Python脚本中看到了退出状态码3
的使用,用于重新启动进程。据我所知,在Unix/Linux系统中,惯例只涉及到0
和"非0
"。
是否有其他定义3
等值的惯例?
至少在旧日子里,返回值为1通常表示硬错误,而值为2通常保留用于处理命令行参数的问题——它意味着用户犯了一个错误,而不是程序。但除此之外,没有任何约定;甚至这个微小的约定也不是普遍适用的。就像一些版本的ps(1)允许您省略命令行参数前面的破折号一样,返回代码只是一种约定。一般来说,阅读运行脚本的文档(或源代码!),然后编写检查特定含义的错误码的代码。
对于非零值,没有惯例,它们通常用于传达终止原因,并且每个应用程序定义错误代码和原因的映射。在您链接到的情况下,您可以清楚地看到,在检查退出代码3之前的几行中,它被用于指示代码已更改。
也就是说,在这种情况下,只要终止的原因是代码更改而不是其他原因,自动重启行为就会发生。