我希望执行bash脚本并获取正常输出或错误消息。我知道对于C,我们有erron
或perror
来获取退出代码的数量和相应的消息。是否有Java的等价物。如果没有,我们怎样才能完成与C相同的任务?
答案 0 :(得分:1)
如果你这样开始你的过程:
Process p = Runtime.getRuntime().exec("<command>");
错误代码返回如下:
int error_code = p.waitFor();
答案 1 :(得分:1)
你的事情令人困惑。
进程,bash,Java或任何启动它的环境的退出状态不与errno
的值相同,可由perror()
打印。后者是个别系统调用的错误,显然处于较低的水平。
进程的退出状态可以是任何,没有标准,因为它通常只是通过/失败,详细级别通常由程序本身来控制。
例如,请参阅the exit status of GNU grep
:
通常,如果找到选定的行,则退出状态为0,否则为1。但如果发生错误,退出状态为2。
这是非常高级别的,并没有告诉你在grep
内发生了什么错误,只是整体而言,它失败了。