我希望执行bash脚本并获得正常输出或错误消息。我知道对于C,我们有erron或perror来获取退出代码的编号和相应的消息。是否存在用于Java的等价物。如果不是,我们如何实现与C语言相同的任务呢?
发布于 2014-07-10 22:25:15
如果你像这样开始你的进程:
Process p = Runtime.getRuntime().exec("<command>");返回的错误代码如下:
int error_code = p.waitFor();发布于 2014-07-10 22:26:37
你把事情搞混了。
从bash、Java或任何启动它的环境中退出的进程的退出状态与可以由perror()打印的errno值不同。后者是针对单个系统调用的错误,显然处于更低的级别。
进程的退出状态可以是任何状态,没有标准,因为它通常只是通过/失败,详细级别通常由程序本身覆盖。
例如,请参见the exit status of GNU grep
正常情况下,如果找到所选行,则退出状态为0,否则为1。但如果发生错误,退出状态为2。
这是非常高级的,并没有告诉您grep内部发生了什么错误,只是总体上说它失败了。
https://stackoverflow.com/questions/24678948
复制相似问题