Chcę w javie odpalić takie polecenie:
a) java -cp jakis.jar polecenie > /tmp/output 2>&1 & echo $!
W bashu dostaje pid, np. 1234 (po to echo $! żeby wiedzieć do kogo wysłać potem sygnał) i wówczas mogę przekazać programowi sygnał tak:
kill -2 -1234 (koniecznie chce wysłać do całej grupy SIGINT).

program odpalam java Test &
chodzi o to,  żeby Test miało inne process group ID (ppid) niż polecenie a)
Niestety po sprawdzeniu /proc/.../stat Task ma identyczne ppid jak polecenie a)

Na stacku (http://stackoverflow.com/questions/5161321/change-process-groups-on-runtime-getruntime-exec-processes)mówią, że bash -c nadaje nowe ppid ale ja tego w man nie znalazłem (no i mi nie nadaje nowego).
Czy żeby to osiągnąć trzeba użyć setsid?

program (minimalna wersja do testów)

 import java.io.Console;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.io.BufferedReader;
import java.util.ArrayList;
import java.io.IOException;
import java.io.InputStreamReader;
class Test{
  public static void main(String[] args) throws IOException{
    String cmd[] = {
      "/bin/bash",
      "-c",
      "java -cp /sciezka_do_jar/moj.jar polecenie > /tmp/output 2>&1 & echo $!"
    };
    Process process = Runtime.getRuntime().exec(cmd);
    BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
    String line;

    while (true)  {
      line = in.readLine();//zdobede pid z echo $!
      if(line!=null)
        System.out.println(line);
    }
  }
}