java System.exit(int status)使用

shell调用java执行

shell程序

echo "starting"

java TestExit

echo $?

echo "ending"

 

java程序1

public class TestExit{

public static void main(String[] args) {

System.out.println("testing exit in java");
}
}

结果1

starting
testing exit in java
0
ending

java程序2

public class TestExit{

public static void main(String[] args) {

System.out.println("testing exit in java");

System.exit(2);
}
}

结果2

starting
testing exit in java
2
ending

 

问题:

使用过程当中,System.exit(2)这个值,在一个java程序中,退出JVM时,shell获取到的并非值2,而是0.java

这是为何哪?shell

相关文章
相关标签/搜索