Я пытаюсь запустить bash-скрипт изнутри java, который будет жить после выхода из JVM. Моя текущая попытка выглядит примерно так:
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
могут быть избыточными, но я пробовал это без каждого отдельно и, кажется, не могу заставить его работать правильно.
Есть идеи?