JVMの終了後に存続するJava内からbashスクリプトを実行しようとしています。私の現在の試みは次のようになります。
String[] linCmd = {"/bin/bash", "-c", "\"set +m; shopt -u huponexit; nohup "
+ "myScript.sh 2>&1 > /dev/null &\""};
pb = new ProcessBuilder(linCmd);
//Other stuff to monitor and start pb
しかし、myScript.shが実際に(topまたはpsで)起動するのを見ていません。ちなみに、別のbashシェルの理由は、オリジナルが必要であり、それでset +m
元のシェルを破損したくないためです。また、nohup
とshopt -u huponexit
は冗長かもしれませんが、私はそれぞれを単独で使用せずに試してみましたが、正しく機能していないようです。
何か案は?