从java.lang.Process退出值#waitFor()

方法waitFor()返回一个整数值,它是返回码。 值0表示正常终止。 但其他返回代码的含义是什么? 我得到一个退出值11.这是什么意思? 所有退出价值代码都记录在哪里?

这些值是任意的,取决于要定义的特定程序。 您应该参考输出此退出代码的程序的文档或源代码。

程序返回值取决于程序。 返回值没有标准,除零意味着OK。

您必须联系该计划的作者或咨询文档。

每个应用程序都定义了自己的退出代码。 例如,您必须查找使用java.lang.Process开始的应用程序的文档。 他们都有的唯一常见的事情是0以外的任何其他值都是错误。

另一方面,在unix世界中有一些约定,许多主流实用程序都遵循,但是没有保证。

除非零值以外的任何值都表示exception终止 。 关于什么值表明什么条件,没有特别的规则。 阅读您正在呼叫的流程的文档。

0 – >正常终止

!= 0 – >exception终止

我已经看到转换发生的性质可以转换预期的负面错误代码转换如下 –

错误代码 – > -2001 – >有符号十进制到二进制转换 – > 111111111111100000101111 – >这里00101111最后8位被拾取并转换回十进制 – 47!