Javaアプリケーションの実行に使用されるステートメントを含むLinuxスクリプトがあります。スクリプト(runServer.sh)は次のようなものです。
java ServerApp &
Javaアプリケーションはサーバーであるため、停止するまで永久に実行され続けます。したがって、runServer.shを実行した後、コンソールは自動的に返されず、リターンキーを押すのを待ち続けます。
また、同じ問題により、ランタイムAPIを介したリモートスクリプト呼び出しが永久に待機します。
proc = rt.exec(runScript);
exitVal = proc.waitFor();
machine1からsshsayを介してリモートスクリプトを実行している場合でも、リモートスクリプトの実行を終了するにはcrtl+cを使用する必要があります。
runServer.shに次のステートメントを挿入すると、問題は解決します。しかし、その場合、「echo $?>pid」を介してプロセスIDをファイルに書き込むことができませんでした
exec > "\tmp\outlog.txt" 2>&1
linuxスクリプトを変更してコンソールを自動的に返す方法はありますか?