如何从shell脚本调用Java程序,而不让shell脚本等待程序完成执行?

如何从shell脚本调用Java程序,而不让shell脚本等待程序完成执行?,java,bash,shell,unix,Java,Bash,Shell,Unix,我使用上面的shell脚本来调用我的Java程序,但是我想确保shell脚本调用Java程序后,它不会空闲等待程序完成。我不知道怎么做。我在一个在线论坛上读到,我可以在命令的末尾放一个“&”符号,在那里我提供JAR文件路径,但我不确定,因为我对shell脚本还不熟悉。非常感谢您的帮助。在shell命令的末尾,您可以将&。它使程序在子shell中运行 #!/bin/bash JAVA_HOME="jdkpath" CLASSPATH="JAR file path" . $JAVA_HOME/b

我使用上面的shell脚本来调用我的Java程序,但是我想确保shell脚本调用Java程序后,它不会空闲等待程序完成。我不知道怎么做。我在一个在线论坛上读到,我可以在命令的末尾放一个“&”符号,在那里我提供JAR文件路径,但我不确定,因为我对shell脚本还不熟悉。非常感谢您的帮助。

在shell命令的末尾,您可以将&。它使程序在子shell中运行

#!/bin/bash 
JAVA_HOME="jdkpath"
CLASSPATH="JAR file path" . 
$JAVA_HOME/bin/java -cp $CLASSPATH JavaClass 
exit 0

在末尾添加&将把Java发送到后台。这意味着Java将在后台运行,shell脚本将继续运行。但是,一旦shell脚本结束,它将等待Java完成,然后退出。您必须断开java程序的连接,然后脚本将退出,java将继续运行。只需在运行jar文件的正下方添加命令“disown”

java -cp /.../.../....jar ClassWithMain &