Programa Java para ejecutar un comando que lleva mucho tiempo

He leído muchos ejemplos y terminé usando el siguiente código para ejecutar un comando de línea de comando desde el interior de un programa Java.

public static void executeCommand(final String command) throws IOException, 
    InterruptedException {
        System.out.println("Executing command " + command);
        final Runtime r = Runtime.getRuntime();
        final Process p = r.exec(command);
        System.out.println("waiting for the process");
        p.waitFor();
        System.out.println("waiting done");
        try (final BufferedReader b = new BufferedReader(new InputStreamReader(
            p.getInputStream()))) {
            String line;

            while ((line = b.readLine()) != null) {
                System.out.println(line);
            }
        }
    }

Lo he probado con un simple comando ls y funciona bien. Cuando intento ejecutar otro comando, me lleva una eternidad (se mantuvo en funcionamiento durante 25 minutos y aún no se detuvo).

Cuando ejecuto un comando tabix en la línea de comando, obtengo las siguientes estadísticas

4.173u 0.012s 0: 04.22 99.0% 0 + 0k 0 + 0io 0pf + 0w

Por lo tanto, debe terminar rápido.

El comando es

archivo tabix de tiempo pos1 pos2 ... pos190> / dev / null

¿Podría ser el problema que el comando tabix incluya> /dev/null ¿al final? Si no, ¿qué podría causar este problema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta